In the past two days, I took the time to investigate possible compatibility issues between Breadcrumb NavXT and WPML. Within Breadcrumb NavXT, every attempt is made to use the WordPress API, when possible, to maximize the compatibility with other plugins such as WPML. Occasionally, this is not enough and the findings of this investigation are presented in this article.
What You Need
These are the plugins and versions used when performing the testing reported on within this article:
- WPML Multilingual CMS (affiliate link)- At the time this article was written, 3.1.5 was the latest available version and was the version tested against.
- WPML String Translation – At the time this article was written, 2.0.5 was the latest available version and was the version tested against. At the time of this writing, this came as part of purchasing WPML Multilingual CMS, and is not part of WPML Multilingual Blog.
- Breadcrumb NavXT – Tested against a development release of 5.1.0.
Out of the box, just about anything that is supported by WordPress core works. This includes: pages, posts, categories, tags, custom taxonomies, and basic Custom Post Types.
What Doesn’t Work
Breadcrumb NavXT Deficiencies
Any string saved in the Breadcrumb NavXT settings page (e.g. search results) will not be translated by WPML. Support for this requires an extension plugin for Breadcrumb NavXT. Additionally, it has been reported several times, and verified that Custom Post Type root pages don’t translate. Again, this requires an extension plugin for Breadcrumb NavXT to fix. A preliminary version of this extension plugin, Breadcrumb NavXT WPML Extensions, is ready for beta testing. Release details will be forthcoming.
Lastly, the included Breadcrumb NavXT widget has two issues. First, the widget title can’t be translated by WPML in versions of Breadcrumb NavXT below 5.1.0 (bug was discovered and fixed in this activity). Likewise, the “Text to show before the breadcrumb trail” setting was not run through a filter prior to version 5.1.0. However, it appears for the “Text to show before the breadcrumb trail” setting, a little something extra will be required. Naturally, this will be in the Breadcrumb NavXT WPML Extensions plugin.
Slug translation for Custom Post Types does not seem to work correctly. After trying several different methods, it appears it doesn’t work at the moment. Additionally, translation of Custom Post Type archive page names does not work, this appears to be a WPML defect. The workaround at the moment appears to be using the
icl_translate() function in a manner similar to how it was discussed in this forum post. Except, rather than using it on the has_archive property, use it on the various labels for the Custom Post Type.
Where Does That Leave Us?
For the vast majority of users of WPML and Breadcrumb NavXT, an extensions plugin is going to be required. Said plugin has been written as part of this exercise. It needs some additional testing and details on its release will follow later this week. That said, for things to work perfectly, it looks like WPML has a defect that is in the process of being fixed.
Update: Breadcrumb NavXT WPML Extensions is now available.
[end of transmission, stay tuned]