Troubleshooting Common Polylang and JetEngine Integration Issues
Content
Integrating Polylang with powerful tools like JetEngine from Crocoblock is a common setup for building sophisticated multilingual sites. However, users often encounter specific issues when trying to make these two plugins work together seamlessly. Based on community reports, this guide outlines the most frequent problems and their potential solutions.
Common Integration Challenges and Solutions
1. JetEngine Custom Post Types and Taxonomies Not Recognized
The Problem: Polylang does not list or provide translation options for Custom Post Types (CPTs) or taxonomies registered by JetEngine, even though standard WordPress types are detected.
Why It Happens: This typically occurs due to the specific timing or method JetEngine uses to register its custom types. If Polylang loads its configuration before JetEngine has finished registering all post types and taxonomies, it will be unaware of them.
Potential Solutions:
- Check Polylang Settings: First, navigate to Languages > Settings > Custom post types and Taxonomies. Ensure the checkboxes for your JetEngine CPTs and taxonomies are selected for translation.
- Plugin Load Order: The load order of plugins can be critical. Try adjusting the load order so that JetEngine loads before Polylang. This can sometimes be achieved by renaming the JetEngine plugin folder to force it to load alphabetically first (e.g.,
aa-jetengine). - Re-save Permalinks: A simple but often effective step is to visit Settings > Permalinks and click "Save Changes" without making any modifications. This can flush rewrite rules and help plugins re-register their components.
2. Translated Taxonomy Terms Link to the Wrong Language or Cause 404 Errors
The Problem: When you click on a link for a translated taxonomy term (e.g., a category), you are redirected to the URL of another language or encounter a 404 "Page Not Found" error.
Why It Happens: This is often a permalink or slug conflict. The issue can arise if the term slugs between languages are not unique or if there is a misconfiguration in how the archive pages for these terms are handled, especially when using page builders like Elementor.
Potential Solutions:
- Verify Term Slugs: Ensure that the slug for each translated term is unique and does not contain any special characters that might cause conflicts. For example, a term "Guests" with the slug
guestsshould have a German translation "Gäste" with a distinct slug likegaeste, notgäste. - Check Archive Page Assignments: If you are using a page builder to create custom archive templates, verify that the correct translated archive page is assigned to the translated taxonomy term in your page builder's settings.
- Re-save Permalinks: Again, visiting Settings > Permalinks and saving changes can resolve many routing issues by resetting the site's URL structure.
3. JetEngine Meta Field Values Not Translating or Losing Sync
The Problem: Meta fields created with JetEngine, particularly checkboxes or radio buttons that store arrays of values, do not translate correctly. When you translate them, the connection between the original and translated values is lost, requiring you to re-add each value manually.
Why It Happens: Polylang's String Translation module is designed for translating static strings, not complex data structures like serialized arrays. Translating a serialized array can break its structure, causing the data to become unusable.
Potential Solutions:
- Use Post Meta Synchronization: For meta fields that do not need a different value per language (e.g., a simple yes/no checkbox), you can use Polylang's synchronization feature. Go to Languages > Settings > Synchronization and enable synchronization for the specific custom field. This will copy the value from the original post to all its translations.
- Custom Development for Complex Fields: For complex fields like checkboxes with multiple values that *do* require translation, a custom-coded solution is often necessary. This would involve using hooks like
pll_copy_post_metasto manually handle how the array is copied and translated between posts. Consulting a developer familiar with both plugins is recommended for this approach.
4. JetSmart Filters Not Displaying Translated Content
The Problem: Filters created with JetSmartFilters do not display translated values for select dropdowns, even though the meta fields themselves have been translated in Polylang. Checkbox filters may work while select filters do not.
Why It Happens: JetSmartFilters might be querying and displaying the meta values directly from the database without passing them through Polylang's translation filters. The plugin may not be fully aware of the current language context.
Potential Solutions:
- Check for Updates: Ensure that both Polylang and JetSmartFilters are updated to their latest versions, as compatibility improvements are often added in new releases.
- Contact JetSmartFilters Support: Since the issue is specific to how one third-party plugin interacts with another, reaching out to JetSmartFilters support is a logical step. They may have a known solution or a development hook to make their filters Polylang-aware.
General Best Practices
- Clear Caches: Always clear any server, plugin, or browser caches after making configuration changes.
- Conflict Testing: If problems persist, perform a standard conflict test. Temporarily deactivate all plugins except Polylang and JetEngine (and its related Crocoblock plugins). If the issue resolves, reactivate your other plugins one by one to identify the conflict.
- Documentation: Always refer to the official documentation for Polylang and Crocoblock for the most up-to-date integration guides.
While Polylang and JetEngine are both powerful tools, their integration can sometimes require careful configuration and troubleshooting. The steps above should resolve the majority of common issues encountered by the community.
Related Support Threads Support
-
Jetpack related posts filter failing in some caseshttps://wordpress.org/support/topic/jetpack-related-posts-filter-failing-in-some-cases/
-
Multilingual categories doesnt appear in Sitemaphttps://wordpress.org/support/topic/multilingual-categories-doesnt-appear-in-sitemap/
-
Terms automatically duplicated with language termhttps://wordpress.org/support/topic/terms-automatically-duplicated-with-language-term/
-
Jet Engine meta field (radio) translatable?https://wordpress.org/support/topic/jet-engine-meta-field-radio-translatable/
-
CPT Taxonomy archive not showinghttps://wordpress.org/support/topic/cpt-taxonomy-archive-not-showing/
-
can not translate estatik custom taxonomies with polylanghttps://wordpress.org/support/topic/can-not-translate-estatik-custom-taxonomies-with-polylang/
-
Polylang not supporting JetEngine Taxonomies and CPTshttps://wordpress.org/support/topic/polylang-not-supporting-jetengine-taxonomies-and-cpts/
-
One custom template for taxonomy term not working on translationhttps://wordpress.org/support/topic/one-custom-template-for-taxonomy-term-not-working-on-translation/
-
Support for JetEngine checkboxeshttps://wordpress.org/support/topic/support-for-jetengine-checkboxes/
-
[NSFW] PODS and Polylang bug with categories and tags in custom post typehttps://wordpress.org/support/topic/pods-and-polylang-bug-with-categories-and-tags-in-custom-post-type/
-
Language not working for Taxonomieshttps://wordpress.org/support/topic/language-not-working-for-taxonomies/
-
New categories, tags, and custom taxonomies get assigned to existing postshttps://wordpress.org/support/topic/new-categories-tags-and-custom-taxonomies-get-assigned-to-existing-posts/
-
Error JetSmartFiletrs with Polylanghttps://wordpress.org/support/topic/error-jetsmartfiletrs-with-polylang/
-
templates for category archives in multiple languages?https://wordpress.org/support/topic/templates-for-category-archives-in-multiple-languages/
-
translate taxonomy of jet engine with polylanghttps://wordpress.org/support/topic/translate-taxonomy-of-jet-engine-with-polylang/
-
Synchronise custom Taxonomies which don’t need translationhttps://wordpress.org/support/topic/synchronise-custom-taxonomies-which-dont-need-translation/
-
Compatibility with Jet Smart Filters?https://wordpress.org/support/topic/compatibility-with-jet-smart-filters/
-
show listing grid of 1 language on a diferent language pagehttps://wordpress.org/support/topic/show-listing-grid-of-1-language-on-a-diferent-language-page/
-
Polylang – jet Engine -Taxonomies Problemhttps://wordpress.org/support/topic/polylang-jet-engine-taxonomies-problem/
-
Compatibility with JenEngine CCTshttps://wordpress.org/support/topic/compatibility-with-jenengine-ccts/