Skip to content

Commit b0007c6

Browse files
Merge pull request #1679 from b1ink0/add/automatically-opt-into-extra-sizes-when-generating-fallback-images
Automatically opt into 1536x1536 and 2048x2048 sizes when generating fallback images
2 parents 4e812ef + dab5c87 commit b0007c6

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

plugins/webp-uploads/hooks.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,3 +780,29 @@ function webp_uploads_init(): void {
780780
}
781781
}
782782
add_action( 'init', 'webp_uploads_init' );
783+
784+
/**
785+
* Automatically opt into extra image sizes when generating fallback images.
786+
*
787+
* @since n.e.x.t
788+
*
789+
* @global array $_wp_additional_image_sizes Associative array of additional image sizes.
790+
*/
791+
function webp_uploads_opt_in_extra_image_sizes(): void {
792+
if ( ! webp_uploads_is_fallback_enabled() ) {
793+
return;
794+
}
795+
796+
global $_wp_additional_image_sizes;
797+
798+
// Modify global to mimic the "hypothetical" WP core API behavior via an additional `add_image_size()` parameter.
799+
800+
if ( isset( $_wp_additional_image_sizes['1536x1536'] ) && ! isset( $_wp_additional_image_sizes['1536x1536']['provide_additional_mime_types'] ) ) {
801+
$_wp_additional_image_sizes['1536x1536']['provide_additional_mime_types'] = true; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
802+
}
803+
804+
if ( isset( $_wp_additional_image_sizes['2048x2048'] ) && ! isset( $_wp_additional_image_sizes['2048x2048']['provide_additional_mime_types'] ) ) {
805+
$_wp_additional_image_sizes['2048x2048']['provide_additional_mime_types'] = true; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
806+
}
807+
}
808+
add_action( 'plugins_loaded', 'webp_uploads_opt_in_extra_image_sizes' );

0 commit comments

Comments
 (0)