Tagged: product images, woocommerce
-
AuthorPosts
-
August 20, 2022 at 10:13 pm #1362307
Hi,
In case #1361748 I reported a bug in Enfold that makes the settings for WooCommerce product images useless if a 450 x 450 pixel image has been generated for the product.
I came up with a workaround
add_filter( 'avf_wc_before_shop_loop_item_title_img_size', 'temp_thumbnail_size_fix', 10, 1 ); function temp_thumbnail_size_fix( $thumbnail_size ) { return 'woocommerce_thumbnail'; }
My case was closed with the comment “Glad to hear that this has been sorted out, if you have any further questions please create a new thread and we will gladly try to help you”. I just want to make sure that this bug will get a permanent fix, my “solution” should not be permanent. Product images have displayed correctly up until a quite recent update of Enfold, so this is a bug. Just in the last few days since I noticed this issue I have noticed a number of users reporting the same bug:
https://kriesi.at/support/topic/thumbnails-in-woocommerce-being-cropped-to-square-when-they-are-45/#post-1361952
https://kriesi.at/support/topic/woocommerce-problems-image-size-and-price-with-variations/#post-1361830
https://kriesi.at/support/topic/woocommerce-product-grid-image-choice/#post-1361987
https://kriesi.at/support/topic/woo-product-archive-thumnail-size/#post-1361707If you handle this bug in another system and want to close this case it’s fine with me. I just want to make sure that an update of Enfold eventually will come that fixes the bug.
Best regards
Martin- This topic was modified 2 years, 4 months ago by martin_e83.
- This topic was modified 2 years, 3 months ago by Mike.
August 23, 2022 at 1:58 am #1362443Hey Martin,
Thank you for the update.
We are currently working on a solution for this. Just to clarify, in your “Butik” page, are you using the Product Grid element from the Advance Layout Builder? Have you tried setting the Styling > Image Size > Select image size to Use default – Woocommerce thumbnail.
Best regards,
IsmaelAugust 23, 2022 at 11:28 am #1362475Hi Ismael,
Thank you, that sounds good!
Nope, novellix.se/butiken is just the WooCommerce shop page (set in WooCommerce -> Settings -> Poducts -> Shop Page) so we can’t use the Advance Layout Builder to edit anything (the layout builder is disabled by default on that page). novellix.se/butiken/bokstod/ and so on are just the default product category pages so they also use the default WooCommerce shop page and no layout builder is used.
Best regards,
MartinAugust 24, 2022 at 4:09 am #1362576Hi,
The avia_woocommerce_thumbnail function, which contains the avf_wc_before_shop_loop_item_title_img_size filter, is also used for the related products and product sliders, so any changes to the function might break existing layouts. And most users do not seem to have any problem with the default size (shop_catalog), so according to @guenter, we will not be changing the function anytime soon. Please keep the filter for now.
Thank you for your understanding.
Best regards,
IsmaelAugust 24, 2022 at 12:15 pm #1362624Thanks for your answer! Just to make it clear, you have already introduced a bug that breaks existing layouts. I’m not in any means saying you should change what thumbnail is being used. My fix is a quick and dirty solution to fix a urgent problem for me and some others that have updated to a newer version of Enfold and then got this problem. But I don’t want to change what thumbnail is being used as a permanent fix.
Have you looked into why this problem occurs. Why the 450×450 px image is being favoured over the settings Enfold provides regarding cropping/ratio of product catalogue images? No settings have been changed after updating and all of a sudden 450×450 px is being displayed even though the setting is set to display uncropped images if a 450×450 px is generated for the product.
If you will not do anything more about this, then is there a way for me to see what changes have been made in the last three (or so) versions of Enfold? Can I get access to other versions than the latest?
Best regards,
MartinSeptember 2, 2022 at 9:24 am #1363586Hi,
The issue occurs because Woocommerce just returns the declared thumbnail shop_catalog instead of using the values set in the Woocommerce > Product Images options. The function that controls the image size is located in the plugins/woocommerce/includes/wc-core-functions.php file, look for the wc_get_image_size (line 928).
Your filter works because when the thumbnail is set to woocommerce_thumbnail, the following condition block (line 971) gets executed and return the values or options set in the Woocommerce > Product Images panel.
} elseif ( 'thumbnail' === $image_size ) { $size['width'] = absint( wc_get_theme_support( 'thumbnail_image_width', get_option( 'woocommerce_thumbnail_image_width', 300 ) ) ); $cropping = get_option( 'woocommerce_thumbnail_cropping', '1:1' ); if ( 'uncropped' === $cropping ) { $size['height'] = ''; $size['crop'] = 0; } elseif ( 'custom' === $cropping ) { $width = max( 1, (float) get_option( 'woocommerce_thumbnail_cropping_custom_width', '4' ) ); $height = max( 1, (float) get_option( 'woocommerce_thumbnail_cropping_custom_height', '3' ) ); $size['height'] = absint( NumberUtil::round( ( $size['width'] / $width ) * $height ) ); $size['crop'] = 1; } else { $cropping_split = explode( ':', $cropping ); $width = max( 1, (float) current( $cropping_split ) ); $height = max( 1, (float) end( $cropping_split ) ); $size['height'] = absint( NumberUtil::round( ( $size['width'] / $width ) * $height ) ); $size['crop'] = 1; } }
Please try to edit the enfold/config-woocommerce/config.php file and look for this code around line 442.
$size = apply_filters( 'avf_wc_before_shop_loop_item_title_img_size', 'shop_catalog' );
Replace it with:
$woocommerce_thumbnail_image_width = get_option( 'woocommerce_thumbnail_image_width' ); $default_size = $woocommerce_thumbnail_image_width == 300 ? 'shop_catalog' : 'woocommerce_thumbnail'; $size = apply_filters( 'avf_wc_before_shop_loop_item_title_img_size', $default_size );
Best regards,
IsmaelSeptember 3, 2022 at 4:22 am #1363705I am having the exact same issue that you are having. Unclear how to proceed as I don’t have the technical skills to add and/or alter code – that’s one of the main reasons I bought Enfold – not to have to deal with it. It just worked until it didn’t (a week or so ago).
Please offer a real and permanent solution as I have noticed many others encountering the issue so it is NOT a user issue or error – it is a theme bug.
Thank you
September 3, 2022 at 4:06 pm #1363749Hi la_tripping,
Please try this filter in your functions.php file:
add_filter( 'avf_wc_before_shop_loop_item_title_img_size', 'temp_thumbnail_size_fix', 10, 1 ); function temp_thumbnail_size_fix( $thumbnail_size ) { return 'woocommerce_thumbnail'; }
Best regards,
RikardSeptember 4, 2022 at 7:11 pm #1363815Hi Rikard,
I finally figured out how to apply the “filter” and it worked. I hope this will continue to work with future updates.Thank you for the help.
September 4, 2022 at 7:17 pm #1363818Hi,
Glad Ismael & Rikard could help, if you have any further questions please create a new thread and we will gladly try to help you. Thank you for using Enfold.Best regards,
Mike -
AuthorPosts
- The topic ‘Bug in Enfold for WooCommerce prduct images’ is closed to new replies.