لیست تغییرات و آپدیت های ارائه شده برای افزونه wpml :
- Fix absolute link notice: Undefined offset 1.
- Fix a compatibility issue with “AJAX load more” plugin
- Improved UI for Custom Post Types, Taxonomies and Custom fields in Translation Options or Multilingual Content Setup pages
- Fixed wrong locale for Thai language
- Included menu classes to the autoloader in order to resolve compatibility issues with iThemes Sync
- Added feedback and logging of failed attempts when downloading the remote configuration files for themes and plugins
- Implemented new feature allowing users to set a Post Type or a Taxonomy to display translations or fallback to original language if translations do not exist
- Language menu items are now added on wp_get_nav_menu_items instead of wp_nav_menu_objects
- Fixed issue showing translations with Pending Review status to non-logged in users
- Fixed a JS error on categories/tags admin page when ACF plugin is active.
- Fixed error when trying to get the post type of a non-existent post
- Removed unneeded file left behind from a git conflict
- Improved WPML Reset functionality
- Fixed error when language switcher is added in a menu containing no item
- Fixed issue with Previous and Next links not working properly in secondary languages when MemCached is configured
- Fixed link field in “Flip Box” module of Elementor Pro in order to make it translatable
- Fixed an issue with post tags when the same name is used in different languages
- Default locale failed to be set for some language
- Fixed a possible issue in WP 4.9 with “tax_query” in WP_Query
- Fixed an http protocol issue with language switcher assets
- Fixed issue with color picker in the Footer Language Switcher’s modal
- Fixed wrong redirection in post types containing posts that share same name
- Resolved JS conflict with 3rd party plugins in Appearance/Menus page
- Handle the hreflang (former Tag) as two letters code by default
- Stopped autoloading the heavy “wpml_config_index” and “wpml_config_index” wp_options
- Fixed action “wpml_make_post_duplicates” not duplicating custom fields of draft posts
- Updated browser redirection hook which enqueues scripts to wp_enqueue_scripts
- Resolved exception with “wpml_permalink” feature not returning the translated slug
- Fixed issue with requested language from HTTP_REFERRER
- Removed the deprecated function is_ajax()
- Fixed an error in the customizer when no menu exists.
- Fixed an issue when synchronizing custom menu links and the default language is not English.
- Fixed the language for the notice to promote the translation feedback
- Fixed an issue with get_terms and mixing translatable and non-translatable taxonomies.
- Fixed issue with .mo files for default language not being automatically downloaded
- Fixed issue with terms-meta not being copied over to translations.
- Wrong redirect to page when post with the same name in /%category%/%postname% permalinks
- Resolved exception with Custom Languages added in WPML returning the language code instead of the language tag
- Resolved exception with posts in secondary languages wrongly redirecting to the original ones when they have the same slug but they are not linked as translations
- Resolved exception with Page id when Home and Blog page have the same slug which was breaking compatibility with “infinite scrolling” of Jetpack
- Fixed an issue with post draft not listed when auto-saved only with heartbeat
- Fix parameters count not matching placeholders count in wpdb::prepare
- Resolved issues introduced by change in behaviour of esc_sql() in WordPress 4.8.3
- Fixed usage of wp_doing_ajax on versions of WordPress older than 4.7
- Fixed admin strings not being added to the translatable strings, when defined through the custom XML configuration
- Fixed notices thrown in WordPress 4.9 by the WPML installation wizard
- Fixed issue that was stopping the Add Gallery button from working for NexGen Gallery
- Add help for Encode URLs and Language Tags on the Edit Languages page
- Removed non-required dependency of Underscore.js in order to resolve Compatibility issues
- Fixed issue with Saving settings in “Translate texts in admin screens” page when handling recursive objects
- Fixed notice thrown after completing the first installation wizard and NONCE_SALT constant is not defined
- Resolved exception with wrong template being applied to specific Custom Post Types
- Fixed bugs related to uploading flags for custom languages
- Nonce check when changing a post’s language
- Fixed issue with home_url filter returning wrong url when ‘relative’ mode is selected
- Fixed fatal error occurring after updating an original post.
- Fixed a caching issue with Language Switcher when new languages are activated.
- [Security] Validated and escaped the value assigned to the current language, especially when read from GET or POST requests. Credit for this goes to Jouko Pynnonen (https://klikki.fi) who reported the possible exploit.
- Fixed some third-party plugins loading order issues, by attempting to load WPML before any other plugin
- Fixed the logical expression which detects if the post private flag needs to be synchronized
- Added hooks to extend the translation options in the term edit page
- Fixed the language code of the Norwegian language to “no” (with defult locale set to “nb_NO”)
- Fixed a fatal error when running WPML 3.8.0 and WPML String Translation 2.6.1
- Updated the default locale for several languages which were missing this information or had the wrong one
- Fixed a compatibility issue with get_term_by in WP 4.8
- Fixed issue with “Adjust IDs for multilingual functionality” on AJAX requests
- Resolved a warning caused by a compatibility issue with WP Fastest Cache Premium plugin
- Resolved exception with Widget titles when Strings Translation is not active
- Fixed issue with pagination when Domains per languages
- Fixed fatal error occurring with Cyr3Lat
- Resolved CSS conflict with the upcoming version of WooCommerce 3.2
- Fixed issue with Search results not returning non-translatable Custom Post Types
- Fixed issue with emails sent from WordPress admin pages being sent in the wrong language
- Performance improvements when accessing database
- Added the get_translatable_documents_all filter to allow modifying the translatable post types after reading the “read-only” configuration
- Added a compatibility class for Google XML Sitemaps plugin
- Added the Translation Feedback module
- Removed dependency with WPML Page Builder, as is now merged into String Translation
- Added Yoast’s notice which asks users to upgrade their PHP Version (if it’s too old)
- Added a filter to blacklist URLs handled by the “Absolute Links” logic (needed when dealing with WooCommerce endpoints).
- Fixed the Twig version to ~1.32.0 to avoid compatibility issues with old versions of PHP
- Added support for Installer’s channel, allowing to download and install beta versions of WPML and its add-ons
- Added support for assigning a language to any widget, in order to limit the display of widgets only to specific languages
- Added support to custom XML
- When configuring a static HTML page as a root page, WPML will validate this setting before saving it
- Display invitation for end-users registration
- Use the clean content from Enfold builder when registering page builder strings
- Fix duplicating a page that is using the Enfold page builder
- Fixed a broken filter in get_page_by_path() with WP >= 4.7
- Decrease number of queries when WPML is not configured
- Fixed issue when building a WP_Query with taxonomy and suppress filters parameters
- Fixed synchronization of menu order when site has more than 2 languages
- Fixed gettext strings in “WPML > Taxonomy Translation” page
- Prevent loading plugins/sitepress-multilingual-cms/res/js/sitepress.js from the front-end when not needed
- Prevent loading sitepress-multilingual-cms/templates/language-switchers/legacy-dropdown/script.js when not needed
- Resolved notice when trying to delete a taxonomy term which is not set to be translated
- Fix translating link targets in custom fields when there is more than one value for the meta key
- Fixed link in “Use the Category translation table for easier translation”
- Increased the language cookie script priority causing wrong string translation in AJAX request
- Fixed domain in the plugins_url function to match the current domain URL
- Fixed an issue with a trailing slash on the preview URL
- Fixed PHP warning when calling the wp_list_pages function
- Fix single quote issue with Enfold for shortcode attributes
- Removed notice when a translation for a language cannot be downloaded
- Most used tags in autocomplete input are displayed in correct language now
- Passing data between separate domains for different language didn’t work properly
- Fixed a fatal error with PHP 7.1 during WPML installation
- Fixed a compatibility issue when inserting a post from the frontend
- Fixed missing body classes on root page with custom page template
- Fixed an issue to open the translation preview with languages in domains and SSO enabled
- Removed the vendor/wimg directory from the deployed package as it’s only needed for development purpose
- Fixed issue with get_pagenum_link when trying to convert URL and language is set as parameter
- Fixed the secondary home URL trailing slash in WP SEO sitemap
- Fixed the category sitemap when using a root page
- Fixed unexpected redirection with first level pages
- Fix translating of DIVI taxonomies
- Fixed the private status synchronization when source is changing from “private” to “publish”
- Fixed the browser redirection when the secondary language is in a different domain
- Fixed an issue with Visual Composer’s widget where strings were registered twice
- Fixed stripped SVG tags from Enfold’s code blocks in manual translation mode
- Add support for post format archives in the language switcher
- Changed translator notification email format to HTML
- Moved the taxonomy synchronization logic from WCML to WPML
- Added the parent theme’s name to the debug information
- Allow to select the flags for languages from pre-defined list
- Added an “active/inactive” filter in theme and plugins localization screen to simplify selection
- Added auto-generation of Slug when translating Terms using Taxonomy Translation
- Fixed issue with auto sign-in and language per domain on old browser versions
- Fixed HTML in the “Auto sign-in and sign-out users from all domains” tooltip
- Fixed a problem saving a layout when Avia Layout Builder Debug is enabled
- Fixed issue in admin user language in Greek
- Fix retrieving of post id by url in secondary language
- Fixed issue with WPML language cookies in cached environments. When user is not logged in, cookies will be stored with JS and optionally
- Fixed issues when WPML’s plugin folder is a symbolic link
- Refactored sunrise.php to match domains starting with “www”
- Fixed possible JS error with hierarchy-sync-message.js
- Fixed fatal error Call to undefined function wp_get_upload_dir()
- Fixed transient issue with custom language switcher templates on multisite
- Fixed canonical redirection issues with languages in directories and root page
- Excluded WooCommerce and Gravity Forms from the enable translation editor notice
- Ignore the “Use directory for default language” setting when the root page doesn’t exist or when HTML isn’t set
- Fixed removal of category’s translations in bulk action
- Fixed multisite link when WPML has languages set up as domain
- Fixed SitePress::_sync_custom_field to handle serialized data.
- Fixed some glitches for dropdown language switchers
- Fixed SitePress::get_term_adjust_id to retain the object_id if needed. Fixes missing WC product variations
- Fixed error on front-end when using WPML in Menus but with incomplete setup
- Fixed not saved settings when assigning a language switcher to a menu with a name in an encoded language (Hebrew, Chinese, …)
- Fixed some compatibility issues for language switcher in menus
- Fixed title sanitization when German (deDE) and Danish (daDA) languages are present
- Fixed path returned by get_home_path when in the second language and using languages in domains
- Fixed default locale for some affected languages
- Fixed domain in the content_url function to match the current domain URL
- Applied some changes in WPML cookies: wpml_referer_url will be set on WCML and _icl_current_language will be set only if user is logged in
- Fixed redirection from URL with no language directory to URL with default language directory (applies with root page setup)
- Fixed fatal error during WPML setup (step 2) if not possible to connect to WP translation
- Fixed retrieving gallery’s images after changing the default language
- Added page builder requirements message for Divi theme
- Fixed post relationship for Types plugin when saving posts
- Fixed issue where translations can get disconnected when editing a duplicate post
- Fixed issue where an auto-draft draft is being assigned as a translation
- Fixed issues for retrieving object terms in a language different than the request language (related to wp_get_object_terms)
- Fixed issue when updating any WPML user field from other user
- Fixed issue in WPML wizard language not matching site language on fresh install
- Fixed issue in user admin language when trying to set a language which is not an active WPML language
- WPML now scans for language switcher templates in the uploads folder
- Introduced a new generic shortcode for language switcher wpml_language_switcher
- Downloading and using wpml-config.xml for parent theme when available
- Removed Avada page builders integration.
- Resolved compatibility issues with ‘Twenty Seventeen` theme and translation of Theme Options
- Fixed issue with Enfold’s page builder and new string translation workflow
- Fixed issue with single sign-on when Object Cache is enabled using W3TC
- Resolved JS conflict with ACF Pro, affecting WYSIWYG fields
Security Several security fixes API Filters
- [wpmlcore-3913] Added wpml_duplicate_generic_string in some locations to replace deprecated icl_duplicate_generic_string
- Language switcher settings are now accessible from mobiles
- Fixed conflict of Language Switcher with multiple queried taxonomies in WooCommerce layered navigation
- Fixed issue where in some installations, the Language Switcher was missing from the secondary language menu
- Clearing language switcher colors was not updating the preview
- Some menus were not available to assign a language switcher
- In the language switcher dialog, the save button was disabled after clicking on it with no selected slot
- Notifications for translating a page builders can now be dismissed
- Fixed compatibility issue with Enfold causing “Warning: ILLEGAL STRING OFFSET ‘LANGUAGE_CODE'”
- Restored option for setting editing language as admin language
- Resolved issue with users not staying logged in across domains when using different domains per language
- Updating serialized CF that are set to ‘copy’ won’t causes extra rows in the DB
- Fixed compatibility issue with Yoast SEO and BuddyPress causing an “Uncaught exception”
- Fixes issue with Sticky header appearing in the Wizard when using Chrome
- Fixed issue where duplicated posts were having the “Needs update” status
- Resolved notice when passing an associative array of post types to WP_Query
- Prevent Exception when the cache directory is not created or not writable
- Fixed trying to get property of non-object issue when wp_rerite wasn’t set
- Fixed fatal error Uncaught exception ‘InvalidArgumentException’
- Default custom language switcher options are now initialized after the setup wizard
- Language switcher in menu is properly shown when the source language of the menu is different than the default language
- Disabled the Save button in language switcher settings after clicking it
- Removed admin user language feature in sites running WordPress 4.7 or higher and included migration logic while upgrading WP. This feature is now integrated to WordPress itself.
- Automatically download themes and plugins languages packs for active languages.
- Fixed multisite install compatibility issue with WP 4.6+ using sunrise.
- Fixed a compatibility issue with Yoast redirections.
- Fixed an issue with the browser redirection when using languages with regional variations (e.g. fr-CA).
- On multisite, the main site settings are not altered anymore during sub-site setup.
- Fixed a login redirection issue in sites with languages configured as domain.
- Fixed a redirection issue Nginx servers with language configured as domain.
- Fixed issue with cloning non object values for wp_query object.
- Fixed page template synchronization if template is set to default.
- Replaced Snoopy class with the WP_Http class.
- Fixed a compatibility issue with get_option(‘siteurl’) in sites with languages set as domain.
- Fixed WPML_Backend_Request::get_ajax_request_lang.
- Fixed SitePress::_sync_custom_field to handle serialized data.
- Removed the restriction of only English as default language when synchronizing WP menu.
- Fixed issue in the WPML notice when adding posts from frontend.
- Fixed issue when duplicating posts that have comments to be duplicated.
- Fixed issue while dismissing admin notices from plugin that contains special chars in the title.
- Fixed issue with setting static blog page when page is permanently deleted.
- Fixed compatibility issue when using Google PageSpeed Tools in Apache or Nginx.
- Prevented double ampersand encoding in language switcher URL.
- Fixed issue where language information wasn’t saved when posts were created via AJAX call.
- The language switcher in Twenty Sixteen’s footer was cut off.
- The language switcher in Twenty Fifteen’s footer was partially hidden by the sidebar.
- In some cases (taxonomy, author, date and post type archives), the language switcher custom link for empty translation was not displayed.
- Adjusted URL in wpuploaddir return for when WPML is set up as domain.
- Fixed handling of slashes when copying custom fields.
- Changed the message style in Sync Field Functionality.
- Added a warning about missing menu items when only one language is configured in the site.
- Redesigned the language switcher (new admin UI, new API).
- Fixed performance issue with SSO when language per domain is configured.
- Disabled native browser validation for color picker
- Updated validation of `wpml_is_valid_hex_color` function to allow use of `transparent` and `rgb` colors
- Fixed some issues when using a multi-site configuration.
- Fixed some issues with browser-redirection.
- Fixed a compatibility issue with WordPress 4.6+.
- Ensured the correct source language is used when sending translation jobs to translation proxy.
- Other bug fixes.
- Reduced the number of queries in the posts listing pages.
- Other performance improvements.
- Users can now login across domains when WPML is configured to use languages per domain (it uses the window.postMessage web API).
- Improved usability of the admin notice “Term hierarchy synchronization”.
- Other usability improvements
- Reduced automatic calls to ICanLocalize server to one per hour.
- Improved URL conversion when posts or terms translations have different slugs than the original
- Display the hreflang meta even if the post has no translations, as long as it’s set to be translatable
- Display the language switcher only if the CPT is set to be translatable
- Queries are not altered when browser redirection is enabled
- Form input labels are properly linked to their inputs in WPML > Languages
- Replaced use of `$HTTP_RAW_POST_DATA` with `php://input`
- Fixed language links position in Appearance -> Menus for RTL admin languages
- Fixes for: Templates and pagination
- WooCommerce related fixes
- Added ability to change the behavior of the “heads_lang” meta tags by providing new hooks
This release contains several bug fixes, code cleanup and performance improvements. See the changelog.md file in the plugin folder, for the full list of changes.