The admin_post_thumbnail_size WordPress PHP filter allows you to change the size of the post thumbnail image displayed in the ‘Featured image’ meta box.
Usage
add_filter('admin_post_thumbnail_size', 'your_custom_function', 10, 3); function your_custom_function($size, $thumbnail_id, $post) { // Your custom code here return $size; }
Parameters
$size
: (string|int[]) Requested image size. Can be any registered image size name, or an array of width and height values in pixels (in that order).$thumbnail_id
: (int) Post thumbnail attachment ID.$post
: (WP_Post) The post object associated with the thumbnail.
More information
See WordPress Developer Resources: admin_post_thumbnail_size
Examples
Change Featured Image Size for a Specific Post Type
This example changes the featured image size for a specific custom post type called ‘product’:
add_filter('admin_post_thumbnail_size', 'change_featured_image_size_for_product', 10, 3); function change_featured_image_size_for_product($size, $thumbnail_id, $post) { if ($post->post_type === 'product') { $size = 'medium'; } return $size; }
Set Featured Image Size to 200×200 Pixels
This example sets the featured image size to 200×200 pixels:
add_filter('admin_post_thumbnail_size', 'set_featured_image_size_200', 10, 3); function set_featured_image_size_200($size, $thumbnail_id, $post) { $size = array(200, 200); return $size; }
Change Featured Image Size Based on Post Category
This example changes the featured image size based on the post’s category:
add_filter('admin_post_thumbnail_size', 'change_featured_image_size_based_on_category', 10, 3); function change_featured_image_size_based_on_category($size, $thumbnail_id, $post) { $categories = get_the_category($post->ID); if (!empty($categories) && $categories[0]->slug === 'news') { $size = 'large'; } return $size; }
Modify Featured Image Size for Posts with a Specific Tag
This example modifies the featured image size for posts with a specific tag ‘special’:
add_filter('admin_post_thumbnail_size', 'change_featured_image_size_for_special_tag', 10, 3); function change_featured_image_size_for_special_tag($size, $thumbnail_id, $post) { if (has_tag('special', $post->ID)) { $size = 'medium_large'; } return $size; }
Use Custom Image Size for Featured Image
This example sets a custom image size called ‘custom-size’ as the featured image size:
add_filter('admin_post_thumbnail_size', 'use_custom_image_size_for_featured_image', 10, 3); function use_custom_image_size_for_featured_image($size, $thumbnail_id, $post) { $size = 'custom-size'; return $size; }