This thread is resolved. Here is a description of the problem and solution.
Problem: The client is experiencing an issue where the WooCommerce zoom.js does not work and the product images are oversized when switching languages using WPML. Solution: We have identified that the problem was caused by the custom related products settings not being copied to secondary languages. To fix this, please follow these steps: 1. Navigate to WPML → Settings → Custom Field Translations. 2. Click on Show system fields. 3. Search for _crp_related_ids and set it to Copy. 4. Save the changes. 5. After saving, update the product in the default language.
If this solution does not resolve your issue, or if it seems outdated or irrelevant to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the problem persists, please open a new support ticket at WPML support forum.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Background of the issue:
I have added WPML and activated auto-translate to translate the website. The issue can be seen on this page: hidden link. On the original language products, everything appears normal: hidden link (hidden link).
Symptoms:
When I switch the language, the WooCommerce zoom.js does not work, and the product images are three times the size of the viewport, breaking the website (hidden link).
Questions:
Why does the WooCommerce zoom.js not work when switching languages?
How can I fix the product image size issue when using WPML?
The issue was caused by the custom related products settings. There is a section in your product settings where this can be configured, but it was not set to copy over to secondary languages. As a result, the layout appeared broken.
To resolve this, please follow these steps:
1. Navigate to WPML → Settings → Custom Field Translations.
2. Click on Show system fields.
3. Search for _crp_related_ids and set it to Copy.
4. Save the changes.
5. After saving, update the product in the default language.
Could you please check one more thing? For some reason, string translation does not seem to work consistently—some strings are translated, while others are not.
Enabling "Look for strings while pages are rendered" appears to help, but as I understand, this is only a debugging tool and should not be enabled on a live site.
I would normally create a separate ticket for this issue, but since this site has multiple WPML-related issues that I can't debug myself, I'm including it here along with the previous one.
New threads created by Shekhar Bhandari and linked to this one are listed below: