The edit_custom_thumbnail_sizes WordPress PHP filter allows you to modify the available options for image editing by enabling custom sizes or specifying an array of custom size names.
Usage
add_filter('edit_custom_thumbnail_sizes', 'your_custom_function');
function your_custom_function($edit_custom_sizes) {
// your custom code here
return $edit_custom_sizes;
}
Parameters
$edit_custom_sizes(bool|string[]): True if custom sizes can be edited or an array of custom size names.
More information
See WordPress Developer Resources: edit_custom_thumbnail_sizes
Examples
Enable Custom Thumbnail Sizes for Image Editing
In this example, we enable all custom thumbnail sizes for image editing.
add_filter('edit_custom_thumbnail_sizes', 'enable_custom_thumbnail_sizes');
function enable_custom_thumbnail_sizes($edit_custom_sizes) {
return true;
}
Disable Custom Thumbnail Sizes for Image Editing
In this example, we disable all custom thumbnail sizes for image editing.
add_filter('edit_custom_thumbnail_sizes', 'disable_custom_thumbnail_sizes');
function disable_custom_thumbnail_sizes($edit_custom_sizes) {
return false;
}
Add Specific Custom Sizes for Image Editing
In this example, we specify an array of custom size names for image editing.
add_filter('edit_custom_thumbnail_sizes', 'add_specific_custom_sizes');
function add_specific_custom_sizes($edit_custom_sizes) {
$custom_sizes = array('medium', 'large', 'extra-large');
return $custom_sizes;
}
Remove a Specific Custom Size for Image Editing
In this example, we remove a specific custom size (‘medium’) from the available image editing options.
add_filter('edit_custom_thumbnail_sizes', 'remove_specific_custom_size');
function remove_specific_custom_size($edit_custom_sizes) {
if (($key = array_search('medium', $edit_custom_sizes)) !== false) {
unset($edit_custom_sizes[$key]);
}
return $edit_custom_sizes;
}
Add Custom Sizes Conditionally for Image Editing
In this example, we add custom sizes for image editing based on a user role.
add_filter('edit_custom_thumbnail_sizes', 'conditionally_add_custom_sizes');
function conditionally_add_custom_sizes($edit_custom_sizes) {
if (current_user_can('editor')) {
$custom_sizes = array('medium', 'large', 'extra-large');
return $custom_sizes;
}
return $edit_custom_sizes;
}