The embed_thumbnail_image_shape WordPress PHP filter allows you to modify the shape of the thumbnail image in the embed template.
Usage
add_filter('embed_thumbnail_image_shape', 'your_custom_function', 10, 2); function your_custom_function($shape, $thumbnail_id) { // your custom code here return $shape; }
Parameters
$shape
(string) – The thumbnail image shape, either ‘rectangular’ or ‘square’.$thumbnail_id
(int) – The attachment ID for the thumbnail image.
More information
See WordPress Developer Resources: embed_thumbnail_image_shape
Examples
Change Thumbnail Shape to Rectangular
Make all thumbnail images rectangular.
add_filter('embed_thumbnail_image_shape', 'change_thumbnail_to_rectangular', 10, 2); function change_thumbnail_to_rectangular($shape, $thumbnail_id) { $shape = 'rectangular'; return $shape; }
Change Thumbnail Shape to Square
Make all thumbnail images square.
add_filter('embed_thumbnail_image_shape', 'change_thumbnail_to_square', 10, 2); function change_thumbnail_to_square($shape, $thumbnail_id) { $shape = 'square'; return $shape; }
Set Thumbnail Shape Based on Post Category
Change thumbnail shape depending on the post’s category.
add_filter('embed_thumbnail_image_shape', 'set_thumbnail_shape_based_on_category', 10, 2); function set_thumbnail_shape_based_on_category($shape, $thumbnail_id) { $post_id = get_post_thumbnail_id($thumbnail_id); if (has_category('rectangle', $post_id)) { $shape = 'rectangular'; } elseif (has_category('square', $post_id)) { $shape = 'square'; } return $shape; }
Set Thumbnail Shape Based on Image Dimensions
Change thumbnail shape based on the image’s dimensions.
add_filter('embed_thumbnail_image_shape', 'set_thumbnail_shape_based_on_dimensions', 10, 2); function set_thumbnail_shape_based_on_dimensions($shape, $thumbnail_id) { $image_data = wp_get_attachment_metadata($thumbnail_id); if ($image_data['width'] > $image_data['height']) { $shape = 'rectangular'; } else { $shape = 'square'; } return $shape; }
Set Thumbnail Shape for Custom Post Type
Change thumbnail shape for a specific custom post type.
add_filter('embed_thumbnail_image_shape', 'set_thumbnail_shape_for_custom_post_type', 10, 2); function set_thumbnail_shape_for_custom_post_type($shape, $thumbnail_id) { $post_id = get_post_thumbnail_id($thumbnail_id); if ('custom_post_type' == get_post_type($post_id)) { $shape = 'square'; } return $shape; }