Media: Generate WebP only for certain registered image sizes.
The existing filter `image_editor_output_format` receives an additional parameter `$size_name` which is populated whenever it controls the output format for a specific registered image size to create. Otherwise, it remains empty. In order to achieve this, a low level change has been added in bringing a new `$size_name` class property to the `WP_Image_Editor` base class, which is introduced in a backward compatible way that will not cause conflicts with custom implementations. This parameter is then used in new logic inside the `wp_default_image_output_mapping()` callback function for the filter, controlling whether `image/jpeg` should map to `image/webp` output or not. By default, this is enabled for all WordPress core image sizes by default, and this list can be modified using a new `wp_image_sizes_with_additional_mime_type_support` filter, e.g. to remove core sizes or add custom sizes. The customization per image size may be further enhanced by providing a more declarative API via a new parameter on the `add_image_size()` function. Props eugenemanuilov, flixos90, adamsilverstein, joegrainger. Fixes #56526. See #55443, #56288. Built from https://develop.svn.wordpress.org/trunk@54097 git-svn-id: http://core.svn.wordpress.org/trunk@53656 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -451,6 +451,9 @@ function _wp_make_subsizes( $new_sizes, $file, $image_meta, $attachment_id ) {
|
||||
|
||||
if ( method_exists( $editor, 'make_subsize' ) ) {
|
||||
foreach ( $new_sizes as $new_size_name => $new_size_data ) {
|
||||
// Include size name in the data.
|
||||
$new_size_data['name'] = $new_size_name;
|
||||
|
||||
$new_size_meta = $editor->make_subsize( $new_size_data );
|
||||
|
||||
if ( is_wp_error( $new_size_meta ) ) {
|
||||
|
||||
Reference in New Issue
Block a user