From ae96a828ec5192c647d187aa6c3e3a33a5aeee57 Mon Sep 17 00:00:00 2001 From: Ron Rennick Date: Tue, 25 Aug 2020 12:53:41 -0300 Subject: [PATCH] prevent regenerate image filter loop --- includes/class-wc-regenerate-images-request.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/includes/class-wc-regenerate-images-request.php b/includes/class-wc-regenerate-images-request.php index 0fc08a18c0f..a6c7996fc24 100644 --- a/includes/class-wc-regenerate-images-request.php +++ b/includes/class-wc-regenerate-images-request.php @@ -241,7 +241,16 @@ class WC_Regenerate_Images_Request extends WC_Background_Process { * @return array */ public function adjust_intermediate_image_sizes( $sizes ) { - return apply_filters( 'woocommerce_regenerate_images_intermediate_image_sizes', array( 'woocommerce_thumbnail', 'woocommerce_gallery_thumbnail', 'woocommerce_single' ) ); + // Prevent a filter loop. + $unfiltered_sizes = array( 'woocommerce_thumbnail', 'woocommerce_gallery_thumbnail', 'woocommerce_single' ); + static $in_filter = false; + if ( $in_filter ) { + return $unfiltered_sizes; + } + $in_filter = true; + $filtered_sizes = apply_filters( 'woocommerce_regenerate_images_intermediate_image_sizes', $unfiltered_sizes ); + $in_filter = false; + return $filtered_sizes; } /**