This thread is resolved. Here is a description of the problem and solution.
Problem: If you're experiencing a PHP Fatal error after updating WPML, it might be due to a conflict with the Codevz Plus Plugin. This plugin blocks the wpml.org domain, which can cause issues with WPML functionality. Solution: We recommend deactivating the Codevz Plus Plugin to resolve this issue. Alternatively, you can modify the plugin's code to stop blocking the wpml.org domain. Here's how you can do it:
// Locate the blocked hosts array in your Codevz Plus Plugin file.<br />// Comment out the 'wpml.org' line as shown below:<br />// 'wpml.org',<br />
Please note that the Codevz Plus Plugin is not officially compatible with WPML. We encourage you to contact the plugin authors and request them to join our Go Global Program for compatibility support.
If this solution does not apply to your case, or if it seems outdated, please open a new support ticket. We also highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. For further assistance, you can always contact us through the WPML support forum.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Background of the issue:
I am trying to update WPML to the latest version on my site hidden link. After updating WPML, I encountered an error. The error log is as follows: [07-Aug-2024 11:05:12 UTC] PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/ClonedSites/ApiCommunication.php:30 Stack trace: #0 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/class-wpml-tm-ate-api.php(707): WPMLTMATEClonedSitesApiCommunication->handleClonedSiteError() #1 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/class-wpml-tm-ate-api.php(720): WPML_TM_ATE_API->request() #2 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/class-wpml-tm-ate-api.php(367): WPML_TM_ATE_API->requestWithLog() #3 [internal function]: WPML_TM_ATE_API->get_languages_supported_by_automatic_translations() #4 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/CachedATEAPI.php(41): call_user_func_array() #5 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/CachedATEAPI.php(33): WPMLTMATEAPICachedATEAPI->callWithCache() #6 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/API/ATE/LanguageMappings.php(34): WPMLTMATEAPICachedATEAPI->__call() #7 [internal function]: WPMLTMAPIATELanguageMappings::WPMLTMAPIATE{closure}() #8 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(154): call_user_func_array() #9 [internal function]: WPMLFP{closure}() #10 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(50): call_user_func_array() #11 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Loader.php(130): WPMLFP{closure}() #12 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(207): WPMLTMATELoader::getData() #13 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(257): WPMLFPRight->map() #14 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Promise.php(24): WPMLFPRight->chain() #15 /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/Hooks.php(50): WPMLFPPromise->resolve() #16 /var/www/html/HEF/wp-includes/class-wp-hook.php(324): WPMLLIBWPHooks::WPMLLIBWP{closure}() #17 /var/www/html/HEF/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #18 /var/www/html/HEF/wp-includes/plugin.php(517): WP_Hook->do_action() #19 /var/www/html/HEF/wp-settings.php(722): do_action() #20 /var/www/html/HEF/wp-config.php(106): require_once('...') #21 /var/www/html/HEF/wp-load.php(50): require_once('...') #22 /var/www/html/HEF/wp-admin/admin.php(34): require_once('...') #23 /var/www/html/HEF/wp-admin/index.php(10): require_once('...') #24 {main} thrown in /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/ClonedSites/ApiCommunication.php on line 30
Symptoms:
PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /var/www/html/HEF/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/API/ClonedSites/ApiCommunication.php:30
Questions:
How can I resolve the PHP Fatal error after updating WPML to the latest version?
I took a copy of your site with the Duplicator plugin and then removed it. I escalated this issue to our second-tier supporters. We will keep you updated here with any news regarding this issue.
Our second-tier supporter debugged this issue and discovered that it was caused by the Codevz Plus Plugin you are using on your site. Here is our second-tier supporter explanation of the problem.
I found it is the Codevz Plus Plugin plugin. It has a code that explicitly blocks the wpml.org domain.
In wp-content\plugins\codevz-plus\codevz-plus.php:L270 it has this code:
See the wpml.org domain.
The plugin should be removed for WPML to work.
To work with WPML, you should deactivate this plugin. Alternatively, you can comment out wpml.org from the list. The same as you did with:
//'elementor.com',
//'jetpack.com',
So that you know, the Codevz Plus Plugin is not officially compatible with WPML. It is not on our list here - https://wpml.org/plugin/. Please contact the authors and urge them to join our Go Global Program. You can find details about it here.
Thanks for discover the issue and Codevz Plus Plugin has publish update to fix the problem (Version 4.9.7.1).
Thank you and best regards,
Manage Cookie Consent
We use cookies to optimize our website and services. Your consent allows us to process data such as browsing behavior. Not consenting may affect some features.
Functional
Always active
Required for our website to operate and communicate correctly.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
We use these to analyze the statistics of our site. Collected information is completely anonymous.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
These cookies track your browsing to provide ads relevant to you.