Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client is using a custom script to update stock and prices of products via the WooCommerce API. This script updates only the main language, and while the stock and prices reflect correctly across all languages, the translations for product names and descriptions are reset to match the main language.
Solution:
1. We recommend checking if the 'save_post' hook is being executed after updates. This hook helps ensure that changes are properly synchronized across translations.
2. Verify if the WPML translation editor is disabled for the products. If it's not, any save in the default language might reset manually added translations. For more details on using different translation editors, visit Using Different Translation Editors for Different Pages.
3. If products were duplicated using WPML's 'Translation Management', check the post meta table for 'icl_duplicate_of' and delete if any entries are found. This can prevent content from syncing/duplicating incorrectly on save.

If these steps do not resolve the issue or if the solution 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.

Tagged: 

This topic contains 3 replies, has 1 voice.

Last updated by aleksandrsC 1 week, 1 day ago.

Assisted by: Dražen.

Author Posts
January 31, 2025 at 12:47 pm #16655554

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

Hello,

if possible I would need to use a parent Flatsome theme, not a child to avoid any custom code conflict.

Let me know if that is possible, I am not switching to avoid any critical error.

Regards,
Drazen

January 31, 2025 at 1:05 pm #16655627

aleksandrsC

Sure, theme was changed from child to original Flatsome.

Best regards,
Aleksandrs.

January 31, 2025 at 1:20 pm #16655797

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

Hello,

thanks.

I checked the first product, and I see translations are still set as duplicates. So I have followed the procedure for the manual translation I shared with you before. Set them as translations, and update them manually, update the default language and nothing is overwritten. Looks fine to me.

Video:
- hidden link

Please check and if the issue still happens share steps/video to me how to see the issue, if I am missing something.

Regards,
Drazen

January 31, 2025 at 1:42 pm #16655861

aleksandrsC

Hello,

Thank you. Now I can see the reason. I should use this "Translate independently" button for every language and then translation doesn't overwrite anymore.

But how can I switch on this "Translate independently" function globally for all products and languages at once? I see that I can switch on WordPress Editor for all products in one click, but not sure about "Translate independently".

Best regards,
Aleksandrs.

January 31, 2025 at 1:59 pm #16655939

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

Hello,

there is no global option to this, you try to can as I have suggested before deleting the mentioned key from DB, that still connected these pages as duplicates. Or you can try to send them for translation via Translation Management and then cancel these jobs. Anyway best way would be doing this manually confirming they are not duplicates anymore.

Regards,
Drazen

January 31, 2025 at 2:22 pm #16656052

aleksandrsC

Hello,

Thank you. I didn't found any duplicate entries in DB as you noted before. So I will try method with Translation Management.

Thanks a lot for assistance!

Best regards,
Aleksandrs.