Background of the issue:
We are migrating hidden link which currently uses an older version of WPML and an older version of RealHomes theme to WPEngine. Current dev environment- (hidden link). We renewed the WPML license and updated the WPML plugins as well as the RealHomes theme but are still unable to get the translation to work. When I try to translate the new home page it causes a critical PHP error.
Symptoms:
PHP Fatal error: Uncaught Error: Call to undefined method WPML\PB\Elementor\Modules\ModuleWithItemsFromConfig::get() in /nas/content/live/panamaequity/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/class-wpml-elementor-translatable-nodes.php:61
Questions:
How can we resolve the PHP fatal error when translating the new home page?
What steps should we take to ensure WPML translations work after updating the plugins and theme?
Do you have a staging environment where we could run some tests? It appears there may be an issue occurring during the upgrade process.
I would like to request temporary access (wp-admin and FTP) to your site to take a better look at the issue. It would be better to a testing site where the issue is replicated.
You will find the needed fields for this below the comment area when you log in to leave your next reply. The information you will enter is private which means only you and I can see and have access to it.
Maybe I'll need to replicate your site locally. For this, I’ll need to temporarily install a plugin called “Duplicator” or "All in One WP Migration" on your site. This will allow me to create a copy of your site and your content. Once the problem is resolved I will delete the local site. Let me know if this is ok with you.
IMPORTANT
-Please make a backup of site files and database before providing us access.
-If you do not see the wp-admin/FTP fields this means your post & website login details will be made PUBLIC. DO NOT post your website details unless you see the required wp-admin/FTP fields. If you do not, please ask me to enable the private box. The private box looks like this: hidden link
Error: "The username *** is not registered on this site. If you're unsure of your username, try your email address instead."
To troubleshoot, you could try using the Duplicator plugin to reduce the file size with the built-in filters. Additionally, consider excluding the /wp-uploads directory and any unnecessary database tables, as these aren’t required for reproducing the issue.
As mentioned, the issue persists even when WPML String Translation is deactivated. The query doesn’t execute when it’s inactive, yet the page edit screen remains unusable without it: hidden link">Link to test page.
please note that we provide support exclusively through this forum. The issue you've shared with the query refers to string translation, and media translation isn't required in this case. You can deactivate it—I’ve already done so, and the problem persists.
The issue also remains even with WPML fully deactivated, as shown in this video: hidden link">Loom Video.
Thanks! Try adding blocks using the "+" buttons. It may load slowly, and after a few seconds, you might also encounter the error message, "Updating failed. The response is not a valid JSON response." I tested this in Incognito mode to rule out interference from Chrome extensions.
The JavaScript console shows a status 400 error linked to an app.hubspot URL: hidden link">loom.com/share. This issue does not appear in Firefox, where the JavaScript console remains clear.
The JavaScript console shows a status 400 error linked to an app.hubspot URL: . It does not happen on Firefox, there the JS console is clear.
Let’s proceed with the following:
1) The test page without Elementor active on that specific page works, and I was able to translate it.
2) Next, I tried creating a new hidden link">Elementor page, which gets stuck. The JavaScript console shows new errors related to core Elementor files, like web-cli.min.js and displays:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
I updated Elementor, but the issue persists when opening a page in the original language. I recommend contacting Elementor support. Once this page opens correctly, we can proceed with translation.
This could be the underlying cause of the fatal error appearing on the homepage.
Just worked with WPEngine support and we came to the same conclusion. The issue as we understand it is:
The issue on this file wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/class-wpml-elementor-translatable-nodes.php:
It is trying to call and undefined function WPML\PB\Elementor\Modules\ModuleWithItemsFromConfig::get()
We need to upgrade our Elementor account to access tech support. I'll do this on Monday and report back. Have. great weekend and thanks for your help today.
You’re absolutely correct. class "ModuleWithItemsFromConfig" extends "\WPML_Elementor_Module_With_Items", and "WPML_Elementor_Module_With_Items" does have a get method. However, we’re not sure how this issue could arise.
It’s likely that something went wrong during an upgrade to a newer version, or possibly your older version of Elementor is handling the path differently. If WPML has since been updated (which is the case), it may no longer be able to locate certain references. That’s why it’s essential to ensure everything is up-to-date.
Worked with Elementor today - turns out Elementor doesnt work when WP_DEBUG is set to true. The latest versions of Elementor and Elementor Pro are installed and working. WPML still throwing errors.
Seeing these in the logs:
{
"installName": "panamaequity",
"environment": "PROD",
"type": "error",
"date": "2024-11-12T06:16:06.743Z",
"severity": null,
"client": null,
"message": "KILLED QUERY (19519 characters long generated in /nas/content/live/panamaequity/wp-content/plugins/wpml-string-translation/inc/admin-texts/wpml-admin-text-configuration.php:128): SELECT option_name, option_value#012#011#011#011#011#011#011#011#011#011#011#011FROM wpko_options#012#011#011#011#011#011#011#011#011#011#011#011WHERE option_name NOT LIKE '_transient%'#012#011#011#011#011#011#011#011#011#011#011#011AND option_name NOT LIKE '_site_transient%' AND ( option_name = 'theme_sitelogo' OR option_name = 'theme_sitelogo_retina' OR option_name = 'theme_sitelogo_mobile' OR option_name = 'theme_sitelogo_retina_mobile' OR option_name = 'theme_general_banner_image' OR option_name = 'theme_banner_titles' OR option_name = 'theme_search_url' OR option_name = 'inspiry_search_page' OR option_name = 'inspiry_search_results_page_layout' OR option_name = 'theme_properties_on_search' OR option_name = 'inspiry_search_exclude_status' OR option_name = 'inspiry_search_template_no_result_text' OR option_name = 'inspiry_compare_page' OR option_name = 'theme_header_email' OR option_name = 'theme_header_phone' OR option_name = 'theme_home_advance_search_title' OR option_name = 'inspiry_keyword_label' OR option_name = 'inspiry_keyword_placeholder_text' OR option_name = 'inspiry_property_id_label' OR option_name = 'inspiry_property_id_placeholder_text' OR option_name = 'inspiry_property_status_label' OR option_name = 'inspiry_property_type_label' OR option_name = 'inspiry_agent_field_label' OR option_name = 'realhomes_agent_whatsapp_button_label' OR option_name = 'realhomes_agent_callnow_button_label' OR option_name = 'inspiry_property_agent_placeholder' OR option_name = 'realhomes_agent_form_default_message' OR option_name = 'realhomes_agent_keyword_placeholder' OR option_name = 'realhomes_agent_number_of_properties_placeholder' OR option_name = 'realhomes_agent_locations_placeholder' OR option_name = 'realhomes_agent_verified_placeholder' OR option_name = 'theme_location_select_number' OR option_name = 'theme_location_title_1' OR option_name = 'theme_location_title_2' OR option_name = 'theme_location_title_3' OR option_name = 'theme_location_title_4' OR option_name = 'inspiry_min_beds_label' OR option_name = 'inspiry_min_beds' OR option_name = 'inspiry_min_baths_label' OR option_name = 'inspiry_min_baths' OR option_name = 'inspiry_min_area_label' OR option_name = 'inspiry_min_area_placeholder_text' OR option_name = 'inspiry_max_area_label' OR option_name = 'inspiry_max_area_placeholder_text' OR option_name = 'inspiry_min_garages_label' OR option_name = 'inspiry_min_garages' OR option_name = 'theme_area_unit' OR option_name = 'inspiry_any_text' OR option_name = 'inspiry_search_button_text' OR option_name = 'inspiry_search_features_title' OR option_name = 'inspiry_search_label_text' OR option_name = 'inspiry_home_search_bg_img' OR option_name = 'inspiry_enable_search_label_image' OR option_name = 'theme_slogan_title' OR option_name = 'theme_slogan_text' OR option_name = 'theme_news_posts_title' OR option_name = 'theme_news_posts_text' OR option_name = 'theme_featured_prop_title' OR option_name = 'theme_featured_prop_text' OR option_name = 'theme_additional_details_title' OR option_name = 'theme_common_note_title' OR option_name = 'theme_common_note' OR option_name = 'theme_property_features_title' OR option_name = 'inspiry_featured_prop_sub_title' OR option_name = 'theme_property_video_title' OR option_name = 'theme_property_map_title' OR option_name = 'inspiry_property_map_zoom' OR option_name = 'theme_property_attachments_title' OR option_name = 'theme_child_properties_title' OR option_name = 'theme_similar_properties_title' OR option_name = 'inspiry_similar_properties_frontend_filters' OR option_name = 'inspiry_similar_properties_filters' OR option_name = 'theme_news_banner_title' OR option_name = 'theme_news_banner_sub_title' OR option_name = 'theme_gallery_banner_title' OR option_name = 'theme_gallery_banner_sub_title' OR option_name = 'theme_currency_sign' OR option_name = 'theme_currency_position' OR option_name = 'theme_decimals' OR option_name = 'theme_dec_point' OR option_name = 'theme_thousands_sep' OR option_name = 'theme_no_price_text' OR option_name = 'inspiry_min_price_label' OR option_name = 'inspiry_min_price_placeholder' OR option_name = 'inspiry_max_price_label' OR option_name = 'theme_minimum_price_values' OR option_name = 'theme_maximum_price_values' OR option_name = 'theme_minimum_price_values_for_rent' OR option_name = 'theme_maximum_price_values_for_rent' OR option_name = 'theme_status_for_rent' OR option_name = 'theme_message_copy_email' OR option_name = 'theme_map_lati' OR option_name = 'theme_map_longi' OR option_name = 'theme_map_zoom' OR option_name = 'theme_contact_details_title' OR option_name = 'theme_contact_address' OR option_name = 'theme_contact_cell' OR option_name = 'theme_contact_phone' OR option_name = 'theme_contact_fax' OR option_name = 'theme_contact_display_email' OR option_name = 'theme_contact_form_heading' OR option_name = 'theme_contact_email' OR option_name = 'theme_contact_cc_email' OR option_name = 'theme_contact_bcc_email' OR option_name = 'theme_partners_title' OR option_name = 'inspiry_footer_partners_to_show' OR option_name = 'inspiry_copyright_text_display' OR option_name = 'theme_copyright_text' OR option_name = 'theme_designed_by_text' OR option_name = 'theme_login_url' OR option_name = 'inspiry_login_register_page' OR option_name = 'theme_profile_url' OR option_name = 'theme_submit_url' OR option_name = 'inspiry_updated_property_status' OR option_name = 'theme_submit_default_address' OR option_name = 'theme_submit_default_location' OR option_name = 'inspiry_submit_property_terms_text' OR option_name = 'realhomes_submit_property_title_label' OR option_name = 'realhomes_submit_property_address_label' OR option_name = 'realhomes_submit_property_find_address_label' OR option_name = 'realhomes_submit_property_description_label' OR option_name = 'realhomes_submit_property_price_label' OR option_name = 'realhomes_submit_property_old_price_label' OR option_name = 'realhomes_submit_property_price_prefix_label' OR option_name = 'realhomes_submit_property_price_postfix_label' OR option_name = 'realhomes_submit_property_id_label' OR option_name = 'realhomes_submit_property_parent_property_label' OR option_name = 'realhomes_submit_property_type_label' OR option_name = 'realhomes_submit_property_status_label' OR option_name = 'realhomes_submit_property_bedroom_label' OR option_name = 'realhomes_submit_property_bathroom_label' OR option_name = 'realhomes_submit_property_garage_label' OR option_name = 'realhomes_submit_property_area_label' OR option_name = 'realhomes_submit_property_area_postfix_label' OR option_name = 'realhomes_submit_property_lot_size_label' OR option_name = 'realhomes_submit_property_lot_size_postfix_label' OR option_name = 'realhomes_submit_property_year_built_label' OR option_name = 'realhomes_submit_property_images_label' OR option_name = 'realhomes_submit_property_attachments_label' OR option_name = 'realhomes_submit_property_floor_plans_section_label' OR option_name = 'realhomes_submit_property_floor_name_label' OR option_name = 'realhomes_submit_property_floor_image_label' OR option_name = 'realhomes_submit_property_floor_description_label' OR option_name = 'realhomes_submit_property_floor_price_label' OR option_name = 'realhomes_submit_property_floor_price_postfix_label' OR option_name = 'realhomes_submit_property_floor_size_label' OR option_name = 'realhomes_submit_property_floor_size_postfix_label' OR option_name = 'realhomes_submit_property_floor_beds_label' OR option_name = 'realhomes_submit_property_virtual_tour_label' OR option_name = 'realhomes_submit_",
"uuid": "e2725120-5fc7-4f7e-bc52-58f6002e71e5"
}
When I tried auto translating the home page again I got this error:
WordPress version 6.6.2
Active theme: RealHomes (version 4.3.4)
Current plugin: WPML Multilingual CMS (version 4.6.13)
PHP version 8.2.24