I used custom post type, where ‘thumbnail’, ‘medium’ and ‘large’ sized not required. I need to disable this sizes and create function or plugin, where i can set, which image size is required for each custom post type.
My first step is hooking of get_intermediate_image_sizes function from wp-includes/media.php. I have added this code to functions.php but it not working 🙁
add_filter('get_intermediate_image_sizes', 'get_intermediate_image_sizes_fixed');
function get_intermediate_image_sizes_fixed() {
global $_wp_additional_image_sizes;
//$image_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
$image_sizes = array();
if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
$image_sizes = array_merge( $image_sizes, array_keys( $_wp_additional_image_sizes ) );
return apply_filters( 'intermediate_image_sizes', $image_sizes );
}
UPD: Editing this line in media.php is working. Default types after changes not generating.
$image_sizes = array('thumbnail', 'medium', 'large');
But how to make work my hook?
I think the only solution you have at the moment is to disable all intermediate image sizes:
And then manually generate them, depending on the post type, by hooking into ‘wp_generate_attachment_metadata’, where you do have access to the attachment id (and therefore to it’s parent post):