WPML Wordpress Multilingual Plugin Version History
9 versions available
1 Credit
per install
Subscribe to connect and install
v4.9.4
LatestVerified Safe
Released 17.1 MB
Other
The block editor now stays in modern iframe mode on WPML-enabled sites. WordPress 7.0 makes the fully iframe-based editor the new standard. On sites running an older version of WPML, the editor would silently revert to legacy mode whenever WPML was active. The Language Switcher and Navigation Language Switcher blocks have been updated to fully support Block API version 3, keeping the editor in modern mode as expected.
Navigation Language Switcher “open on click” now works correctly on WordPress 7.0. WordPress 7.0 changed how the Navigation block stores this setting. WPML now reads the updated value correctly, so submenus respect the behaviour you configured.
Other Fixes
Full Announcement
For more details, see the blog post announcing WPML 4.9.4.
Added
WordPress 7.0 block content is now translatable. Three elements introduced or restructured in WordPress 7.0 were not appearing in the WPML translation editor. All three are now fully translatable: Icon block accessibility labels (aria-label), Navigation overlay close button text, and Tab block labels.
Fixed
block editor warnings and styling issues on WordPress 7.0. WPML’s internal code for registering block assets has been updated to use current WordPress APIs. Block descriptions are now plain strings as WordPress 7.0 requires, and CSS loads correctly inside the iframe editor. All changes are backward compatible to WordPress 6.3.
PHP deprecation notices in server logs. A PHP function deprecated in WordPress 7.0 has been replaced with the modern equivalent throughout WPML’s codebase.
a blank white screen on the WPML Settings and Translation Dashboard pages in wp-admin.
WPML now intercepts calls to get_user_meta() and returns the translated value for the current language. This is useful when displaying user profile fields (e.g. job title, bio) on multilingual sites. To enable this behaviour, add the following to your theme or plugin:
WPML sends automatic emails from several internal components (translation job assignments, overdue job reports, batch summaries, etc.). Previously there was no official way to suppress them — developers had to rely on workarounds inspecting the call stack. This new hook provides a single, supported way to disable all WPML emails at once:
Or selectively, based on email type and recipient:
v4.9.2.1
Verified Safe
Released 16.5 MB
Other
Fixes
Fixed
a security issue in WPML’s Translation Feedback feature. Heads-up: we’re retiring this feature in the next major WPML release because the usage has been very low.
an issue where WooCommerce customers could experience a slow checkout and see a false payment error, even though their order had been successfully placed and their payment had gone through.
an issue where users could see a false error when copying their site during the migration process, even though the operation had completed successfully in the background.
This is particularly useful on staging or development environments where you want to prevent emails from reaching real users.
Improvements
Migration and Setup
Safer and More Reliable Migration Process
WPML now makes it safer and easier to move or copy a site from one domain to another. If something goes wrong during the migration, the wizard stays visible so users can retry, with clearer messages, better logging, and guidance on where to find the migration code. WPML also automatically fixes misconfigured alias domains, removes the unsafe “Move” option, and improves performance for sites using the Classic Translation Editor.
WPML now notifies the translation service when a site key is unregistered.
Performance
Reduced redundant language filtering calls on sites with many ACF fields for better performance.
Admin and User Experience
Unlocked WPML settings are now visually indicated in the admin interface.
String Translation dashboard filters now show labels and default to Frontend strings.
Clarified how Media Translation settings affect images and featured images.
The notification about jobs that cannot be finished now links directly to the Translation Dashboard.
Fixes
Some posts containing Base64-encoded data were not being sent for translation
In a previous release, we started blocking some posts because they contained Base64-encoded data, to prevent issues during the translation process. However, this also blocked some posts that could actually be translated, or where the Base64 content could simply be ignored. We’ve updated how WPML handles Base64-encoded content — posts that can be safely translated are no longer blocked. A more precise validation approach is planned for an upcoming release.
Performance improvements when the Classic Translation Editor is selected.
Added
filter hook for developers to return translated user meta values
filter hook to globally disable all WPML email notifications
a new option to reset the WPML Setup Wizard when it gets into a corrupted state.
Removed
outdated WP Super Cache integration code that was no longer needed.
Fixed
an issue with WPML blocks causing the Gutenberg editor to use an outdated rendering mode.
an issue with Payments & Maintenance tab failing to load on sites with WordPress installed in a subdirectory.
a PHP warning triggered when search queries contained array parameters.
an issue with Full Site Editing category templates not applying to translated pages.
an issue with translator assignment failing after a database restore or site migration.
an issue with active subscriptions incorrectly shown as expired on the last day of the billing cycle.
an issue with String Translation failing to load translation files due to domain name casing conflicts.
an issue with memory exhaustion errors on sites where user accounts had accented characters in their username.
an issue with minimal custom field values being lost during the translation process.
an issue with page preview slowness or timeouts on resource-limited servers when WPML is active.
an issue with REST API requests using non-pretty URLs being incorrectly redirected.
an issue with CSS changes in the WPML development project not being compiled correctly.
a privacy policy link showing the original language page title instead of the translated one.
an issue with the alias domain notice showing the same URL twice during site migrations.
internal links using Cyrillic or non-Latin characters not being translated correctly.
an issue with category and taxonomy terms not triggering the re-translation process correctly.
an issue with browser language redirect not working correctly when a root page is set.
an issue with the Classic Translation Editor causing PHP warnings and translation status loss on reload.
an issue that was allowing posts to be accessed via the wrong category URL.
an issue where String Translation file scanning was causing database corruption on large sites.
an issue with the translation feedback button displaying incorrectly on Arabic (RTL) pages.
a menu synchronization performance issue causing slowness or crashes on large multilingual sites.
an issue with the Automatic Translation Payment & Maintenance tab failing to load on some sites.
an issue with the development site banner failing the WCAG accessibility contrast requirements.
an issue with internal links using www vs. non-www variants not being automatically translated.
an issue with several WPML interface strings not being translated due to incorrect domain assignments.
an issue with translated Elementor templates not displaying correctly on the frontend.
an issue with Media Translation causing images to appear duplicated in the Media Library.
an issue with the Save button remaining disabled when clearing translation context fields.
an issue with website UUID mismatches causing translation service connectivity problems.
WCAG accessibility issues with the legacy language switcher and SSO iframe.
an issue with translator search causing heavy database load and CPU spikes.
the word count calculation for translation jobs failing on Nginx/Kubernetes environments.
a PHP 8.3 compatibility issue causing the Translation Dashboard to freeze.
an issue with alias domain setting not being automatically removed when a domain mismatch is detected.
a vulnerability in a WPML JavaScript file reported by SonarQube.
an issue with class name causing issue in analytics code that could cause failures on Linux servers.
Avada: Added support for translating dynamic images.
Avada: Improved translation of Avada theme options which are now also translatable using WPML String Translation.
Avada: Added support for translating form notifications.
Avada: Added support for dynamic content in image alt and link attributes.
Divi 4: Added support for translating custom text in dynamic attributes.
Divi 5: Added a rule to flush WooCommerce product description cache when receiving translations.
Divi 5: Fixed an issue with double language switcher displayed in the builder.
Divi 5: Added support for translating dynamic content.
Divi 5: Added support for translating section, row, and column background images.
Divi 5: Added support for translating section, row, and column links.
Divi 5: Fixed support for translating button links.
Divi 5: Added support for translating global variables.
Divi 5: Fixed the conversion of IDs when they are defined in the XML config global namespace.
Elementor: Implemented a fix to avoid a fatal error that could happen when translating missing templates.
Elementor: Fixed an issue with WooCommerce Products widget not displaying products in secondary languages.
Elementor: Fixed an issue with translating template ID in the loop grid during AJAX calls.
Elementor: Fixed a PHP 8+ fatal error that happened when using Display Conditions.
Elementor: Fixed an issue with translation of the dynamic WooCommerce field product_id.
Elementor: Added a feature that automatically configures and makes translatable custom widgets that lack a specific WPML configuration.
Elementor: Added support for translating dynamic tags in email subject.
Elementor: Added support for translating tablet and mobile versions of background images.
Elementor: Added a mechanism to prevent hitting PCRE backtrack limit and fail gracefully.
Elementor: Added support for translating media in atomic widgets (editor v4).
Elementor: Added support for translating dynamic content in atomic widgets (editor v4).
Cornerstone : Fixed an issue where content was overwritten when editing a translation with the Cornerstone editor.
Beaver Themer: Added a mechanism to automatically translate conditional logic in layouts.
Beaver Themer: Added a mechanism to automatically translate visibility logic in widgets.
Page Builders: Fixed a warning message when updating a post with CLI/REST.
Page Builders:Fixed an issue where translated text was being cut off after the ‘<‘ character when using Classic Translation Editor or Translation Services.
Page Builders: Fixed translation not marked as “needs update” when a post had a page builder package with no strings.
WooCommerce: Added support for shortcode-based builder content in short product descriptions.
Object Cache Compatibility
[WPML Page Builders] Fixed an issue where automatic translation review screen was not showing the updated contents when the String Translation plugin was activate.
Fixes
Full Announcement
For more details, see the blog post announcing WPML 4.9.0.
Added
credit estimation when Translate Everything Automatically is enabled.
a visible notification on the Translation Dashboard when the site has any debt that needs to be paid before proceeding.
estimated time on the Translation Dashboard for automatic translation jobs in progress.
descriptive text to the tabs at the top of the WPML Translation Dashboard.
a minor interface notice to encourage users to stay on the dashboard while jobs are being processed.
a descriptive error message when translation services reject a batch job.
a notice to enable PHP zlib extension when it is not available in the server setup.
lazy loading for language switcher flag images.
visible error feedback when the AI translation step fails to load in the WPML wizard.
Swahili language to the list of WPML default languages.
a check that hides the “Scan now and adjust links” section if there is nothing to fix.
a check that skips translation of jobs which have Base 64 encoded texts.
support for translating meta information for SVG,AVIF and APNG image formats.
the Advanced Translation Editor job ID to the list of automatic translation jobs on the WPML > Translation Dashboard > Translation Jobs page.
Improved
notifications when the site runs out of credits.
language switcher accessibility for better screen reader support and keyboard navigation.
Fixed
an infinite recursion that could happen when translating taxonomy terms.
an issue with translated media images not displaying in post content when Redis object cache is enabled.
an issue with user admin language cache not being cleared when updating user profile, causing wrong language display when using Redis.
an issue where BuddyPress Multilingual pages and profile data was served from stale cache across languages.
Datepicker calendar was not loading on translated products when Redis/object cache was enabled.
an issue with Avada Forms missing from the dropdown until fusion_library cache is flushed.
an issue that happened if the user profile changed from the site default language to a second language but the text and style in the admin area didn’t change to according to the new default language.
an access issue where Guest users could view the translated post even if you change the status of a published translation post to another status.
an issue where the term meta value set to “Copy” didn’t display when editing the translation term.
an issue where the translation of the user meta field wouldn’t display if you switched to a secondary language.
issues causing the sitekey to be disconnected and block access to Advanced Translation editor.
multiple issues with incorrect wordcount estimates in the job summary on the Translation Dashboard.
multiple deprecated notices with PHP 8.3.
an issue with incorrect post revision loaded on preview.
an issue with recommended plugin not selected and installed during WPML Setup wizard.
an issue with recommended glue plugin banner not displayed on the Translation Dashboard.
a performance issue caused by a database query to save WPML admin notices executed on the frontend.
excessive calls to update the “wpml_notices” option when user profile language is one of the secondary languages.
an issue where links were not updated in translation file XLIFF after site migration.
a fatal error affecting certain sites while updating to the latest WPML version.
an issue with a product category link resulting in a 404 error when language as parameter is used with pretty permalinks.
an issue where a translator with subscriber role was unable to review content for hidden languages while WooCommerce is active.
an issue with the preferred Translation service Reset option.
an issue where certain plugins were displayed as not installed on the WPML > Support page.
an issue with the wrong date format for German translations.
an issue with the WPML minimum requirements check that was caused by the CloudFlare WAF restriction.
an issue where automatic internal link translation could fail when the site and home URL use different protocols.
an issue with saving the legacy widget languages on the first attempt.
a fatal error for jobs that have double quotes in the title.
an issue with taxonomy term hierarchy not synced when translating child terms.
an issue where translating the custom base slug could result in a 404 error.
a minor performance issue when visiting WPML String translation page if the site has many users.
a PHP 8+ fatal error that occurred when using Elementor Display Conditions.
an issue with the Elementor WooCommerce Products widget not displaying products in secondary languages.
an issue preventing language-specific theme options from saving when using custom admin URLs.
an issue with orphan posts being created when automatic translation downloads fail.
a caching issue when updating the front page via WP-CLI on Redis-enabled sites.
a performance issue that could slow down sites with certain image formatting in content.
an issue with translated text being cut off after the ‘<‘ character when using Classic Translation Editor or Translation Services.