Home›Support›English Support›[Resolved] How non translatable taxonomies are synced between translations?
[Resolved] How non translatable taxonomies are synced between translations?
This thread is resolved. Here is a description of the problem and solution.
Problem: You are developing a site with a custom post type (CPT) and a taxonomy set as non-translatable. You've noticed that when you update the English post with some terms, the translations do not update with the terms from the English post. You are unsure of the pattern or timing of these updates. Solution: We recommend not expecting WPML to synchronize non-translatable taxonomies between translations, as they are designated as non-translatable. If you need the taxonomy terms to appear or sync with the translations, consider changing their status to translatable. This adjustment will allow them to sync automatically when you update the original post. For more details on how to set taxonomies to be translatable and synchronize them, please visit our documentation:
If this solution does not apply to your case, or if it seems outdated, 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. Should you need further assistance, 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 am developing a site and have a custom post type (CPT) with a taxonomy that is set to non-translatable. I want to understand how WPML syncs non-translatable taxonomies between translations.
Symptoms:
When I update the English post with some terms, the translations are not updated with the terms from the English post. Sometimes, after many updates, I see the sync happening, but I can't figure out the pattern.
Questions:
What is the procedure WPML uses to update translation terms when the taxonomy is set to non-translatable?
Does the sync happen from a cron job, when the English post is updated, or when the translation is updated?
How can I force my translations to sync with English posts?
WPML should not synchronize non-translatable taxonomies between translations, as they are designated as non-translatable.
If you need taxonomy terms to appear or sync with the translations, I recommend changing their status to translatable. They will then sync when you update the original post, for example.
If the taxonomy is set to translatable can my translations always be in sync from the English post?
As a single source I want the terms from my English post, so when I make changes to the English post I want all the translations to be updated automatically to the translations.
I don't want the translations to be able to have different terms from the English post.
Some posts use WP editor for the translations and not the Advanced editor, I'm not sure if this affects sync. (This is how the translations were created originally)
If the taxonomy is set to translatable can my translations always be in sync from the English post?
WPML synchronizes the translated taxonomy terms between the original post and its translations.
For instance, you created the category "Book" and translated it into Spanish as "Libro" (you can even leave the same name, "Book"). If you assign it to an English post and update it, it will be assigned to the translated post as well. If you assign more categories or remove and update the original post, they are also assigned to the translation or removed. I recommend you test this and see how it works.
I changed the taxonomy to be "Translatable (only show translated items)".
I went to a Post that has a German translation.
Both English and German posts have terms assigned but different terms. (The English post is the one that is updated regularly and the translation content is left behind).
Updated the original English post with some changes to the terms and the German post still has the terms that already been selected, nothing is synced.
English and German terms seem to be updated independently.
Could you provide screenshots for this? Also, could you clarify what you mean by "English and German terms seem to be updated independently" to ensure I fully understand?
After a few tests I understood that when you select a term in English and the term doesn't exist on the translation, WPML doesn't create it automatically.
You have to translate all the terms in all Languages first manually.
Is this correct?
Nevertheless, the sync doesn't seem to work for all the terms even if the terms have translations.
You have to translate all the terms in all Languages first manually.
Is this correct?
Yes, you are correct. You can translate it manually or all at once. However, as discussed in another support ticket, you might still need to edit it manually to make the term slug the same.
Nevertheless, the sync doesn't seem to work for all the terms even if the terms have translations.
Below I created a video with an example.
hidden link;
Thank you for your explanation. You might need to trigger the page translation. In addition to selecting the new taxonomy term for the post, please make a small change to the post description before updating the post.
You can also test the alternative option of running the "Synchronize posts taxonomies" feature in WPML → Support and then Troubleshooting.