- Imports languages and WPML options (when the same options exist in Polylang).
- Imports posts and terms languages as well as translations (including for custom post types and custom taxonomies).
- Imports multilingual nav menus.
- Imports strings translations.
- Does not delete WPML data.
Although WPML data should not be corrupted, as Polylang data are created without deleting anything, make a database backup before proceeding.
How to proceed?
- De-activate WPML
- Activate Polylang and WPML to Polylang. Do not create any language with Polylang (they will be imported).
- Go to Tools -> WPML Importer.
- If all checks are passed, you can click on ‘Import’.
- De-activate WPML to Polylang (You can even delete it).
- Setup a language switcher either as a widget or in nav menus.
- Check that everything is OK.
- If something went wrong and you want to revert to WPML, you can delete Polylang using the red link in the Plugins table. If you want to delete all data created for Polylang, Please read how before deleting Polylang. Finally you can re-activate WPML.
This plugin does not include error management. It has however been tested successfully to migrate a site with about 9,000 posts and media.
As everything is processed in one unique step, big sites may require to tweak the PHP memory limit and MySQL buffer size.
It has been tested with WPML 4.4.8. It has also tested on multisite.
The banner and icon were designed by Alex Lopez
Contributors and Developers
“WPML to Polylang” is open source software. The following people have contributed to this plugin.Contributors
- Min Polylang version is now 2.8
- Fix languages incorrectly imported with Polylang 2.8+
- Fix media translation option incorrectly imported #7
- Fix PHP notices
- Min Polylang version is now 2.6 #3
- Fix the front page label not displayed for translations in the pages list table #4
- Fix deprecated notice related to the screen icon
- Fix flags and rtl property not correctly imported
- Fix incompatibility with WP 4.8.2 (placeholder %1$s in prepare)
- Assign the default language to objects without language in the ‘icl_translations’ table
- Fix term languages not correctly imported
- Fix unprepared SQL query (thanks to @grapplerulrich)
- Fix: Don’t import the empty strings translations as it breaks Polylang
- Allow plugin localization from translate.wordpress.org
- Ready for Polylang 1.8, min Polylang version is 1.5, min WP version is 3.5
- Adopt WordPress coding standards
- Fix: database error when importing categories translations
- Fix: after import, updating a page deletes all translation relationships
- Fix: strings translations are not saved
- Add: “success” message
- Fix: incompatibility with Polylang 1.5
- Fix: taxonomy terms translations incorrectly mapped as WPML uses term_taxonomy_id whereas Polylang uses term_id
- Fix: bug with custom post types and custom taxonomies
- Bug fixes