Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client is developing a site and is unable to translate the Home, Services, and Contact pages using WPML, specifically the Services module in WordPress.
Solution:
We recommend the following steps to make the Home, Contact, and Services page custom Elementor elements compatible with the WPML Translation Editor:
1. Add the following XML configuration to the WPML >> Settings > Custom XML Configuration page:

<wpml-config>
  <elementor-widgets>
    <widget name="home-02-page-banner">
      <fields>
        <field>banner02_subtitle</field>
        <field>banner02_title</field>
        <field>banner02_content</field>
        <field>butn</field>
        <field>butn_link</field>
      </fields>
      <fields-in-item items_of="banner_items">
        <field>banner_subtitle</field>
        <field>banner_title</field>
        <field>banner_content</field>
      </fields-in-item>
    </widget>
    <widget name="home-02-page-about">
      <fields>
        <field>about02_content_01</field>
        <field>about02_sub_heading</field>
        <field>about02_heading</field>
        <field>about02_content_02</field>
        <field>about02_tab_title</field>
        <field>about02_tab_items</field>
        <field>tab_items</field>
        <field>tab_items_description</field>
        <field>butn</field>
        <field>butn_link</field>
      </fields>
      <fields-in-item items_of="about02_tab_title">
        <field>about02_tab_title</field>
      </fields-in-item>
      <fields-in-item items_of="about02_tab_items">
        <field>about02_tab_items</field>
      </fields-in-item>
      <fields-in-item items_of="tab_items">
        <field>about02_tab_title</field>
      </fields-in-item>
      <fields-in-item items_of="tab_items_description">
        <field>about02_tab_items</field>
      </fields-in-item>
    </widget>
    <widget name="home-02-page-why-choose-us">
      <fields>
        <field>whychooseus02_heading</field>
        <field>whychooseus02_sub_heading</field>
        <field>accordion_items</field>
      </fields>
      <fields-in-item items_of="accordion_items">
        <field>accordion_heading</field>
        <field>accordion_content</field>
        <field>custom_butn_link</field>
      </fields-in-item>
    </widget>
    <widget name="service-01-page-pagetitle">
      <fields>
        <field>sub_heading</field>
        <field>heading</field>
      </fields>
    </widget>
    <widget name="service-01-page-service">
      <fields>
        <field>heading</field>
        <field>sub_heading</field>
        <field>service_heading</field>
        <field>service_sub_heading</field>
      </fields>
    </widget>
    <widget name="contact-page-pagetitle">
      <fields>
        <field>heading</field>
        <field>sub_heading</field>
      </fields>
    </widget>
    <widget name="contact-page-form">
      <fields>
        <field>heading</field>
        <field>sub_heading</field>
        <field>contact_form</field>
        <field>contact</field>
      </fields>
      <fields-in-item items_of="contact">
        <field>contact_heading</field>
        <field>contact_content</field>
      </fields-in-item>
    </widget>
  </elementor-widgets>
</wpml-config>

2. Open the default language page in Edit mode, make a small change in the page title, press the update button to reload the translation, then remove the small change and press the Update button again.
3. Click on the secondary language icon to open up the page in WPML Translation Editor and verify if the content appears for translation.
4. For the Services page missing images issue, go to WPML >> Settings > Custom Fields translation section, click on the “Show System fields” link, set “_cmb_service_description” field to Translate, _cmb_service_icon_image, and _cmb_service_image_01 to Copy, and press the save button. Re-save the default language Services posts.

If this solution does not resolve your issue or if it seems outdated, we 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. If the issue persists, please feel free to open a new support ticket at 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.

This topic contains 6 replies, has 2 voices.

Last updated by Noman 3 months ago.

Assisted by: Noman.

Author Posts
August 25, 2024 at 12:19 am #16100784

euliceC

Background of the issue:
I am developing a site and trying to translate the Home, Services, and Contact pages using WPML. I have used the Pages module and WPML > String Translation for translations.

Symptoms:
The Services module in WordPress cannot be translated.

Questions:
Can you help me translate the Services module in WordPress?

August 25, 2024 at 1:12 pm #16101269

Noman
Supporter

Languages: English (English )

Timezone: Asia/Karachi (GMT+05:00)

Hi,

Thank you for contacting WPML Support. Can you please follow the below steps and see if this resolves the issue:

1. Please take a backup of your site first for safety reasons.

2. Please update all outdated plugins to the latest version including WPML, Elementor, and Elementor pro.

3. Please make sure you are using the latest version of your theme.

4. To enable the Service custom post type translation, please go to the WPML >> Settings > Post Types Translation section and set the Service post type as Translatable as you can see in the attached screenshot. Here is a doc for more details:
https://wpml.org/documentation/getting-started-guide/translating-custom-posts/

5. It seems you have added the pages content using Elementor page builder so you need to translate that page/template using WPML Translation Editor or default WordPress Editor and not from WPML >> String Translation page.

So, please try to follow the below procedure:

5.1. Please open the default language page in Edit mode in which you have added the title.
5.2. Make a small change, for example, add a space or + sign in your page/post title.
5.3. Update the page by pressing the “Update” button.
5.4. Now, please remove that small change that did in step #2.
5.5. Update the page again.
5.6. Now, please try to open the translated page in WPML Translation Editor and make sure to complete the translation and press the complete button.

Here is a doc for more details:
https://wpml.org/documentation/plugins-compatibility/elementor/#translating-elementor-posts-pages-built-with-widgets

Please let me know the results,
Thank you

Enable custom post type translation.png
August 25, 2024 at 2:18 pm #16101386

euliceC

Dear Norman,

Posts and Pages are able to be translated. However, I used Elementor to create the Home and Contact pages, and as a result, translations are not appearing there. Additionally, for the Services section, there is a module called Services that functions similarly to posts. I am unable to translate this module as expected. Do you have any suggestions or solutions to help with this issue?

August 25, 2024 at 2:44 pm #16101485

Noman
Supporter

Languages: English (English )

Timezone: Asia/Karachi (GMT+05:00)

Thank you for your update. I appreciate the information you've provided.

To further assist you with the Home, Contact, and Services section translations, I just wanted to confirm if you have followed all the steps mentioned in my previous message, especially regarding updating plugins and checking the settings for the Services custom post type.

If the issue still persists after going through those steps, please provide temporary access (WP-Admin and FTP Login info) to your site (preferably staging site), so that I can look into your setup and debug the issue.

I’ve enabled a private input box for your next reply.

=== Please backup your database and website ===

✙ I would additionally need your permission to deactivate and reactivate Plugins and the Theme and to change configurations on the site. This is also a reason the backup is really important.

Thank you

August 26, 2024 at 11:46 am #16104201

Noman
Supporter

Languages: English (English )

Timezone: Asia/Karachi (GMT+05:00)

1. I’ve set the “Service (service)” post type to Translatable from WPML >> Settings > Post Types Translation section and now you should be able to translate service post types posts as you can see in the attached screenshots.

2. I’ve examined the home, service and contact page and it seems the custom Elementor elements are being used on these pages as you can see in the attached screenshots which doesn’t seem to be compatible with WPML Translation Editor that’s why they are not available for translation. To fix this issue, please try to follow the below steps:

2.1. I’ve noticed that you are using the older (3.7.7) version of the Elementor Pro plugin and the latest version is 3.23.3, please update the Elementor Pro to the latest version.

2.2. I’ve noticed that you are using the older version of your theme and the latest version is 1.3, Please update your theme to the latest version and see if this resolves the issue: hidden link

3. If the issue persists, there are two options:

3.1. Either follow the below doc: https://wpml.org/documentation/support/language-configuration-files/how-to-register-page-builder-widgets-for-translation/ with the help of theme author to make all custom Elementor elements WPML Translation Editor compatible.

3.2. Or disable the WPML Translation Editor from these problematic pages and translate the pages manually using the default WordPress Editor by following this doc:
https://wpml.org/documentation/translating-your-contents/using-different-translation-editors-for-different-pages/

Please let me know if this resolves the issue or if you need further assistance with this issue.

Thank you

service post type settings 1.png
service post type settings.png
custom elementor Widgets.png
custom Elementor widgets 1.png
August 28, 2024 at 8:13 am #16113183

euliceC

Hi,

Thank you for your assistance. I’ve followed your advice and updated to the latest version of the Elementor Pro plugin. However, I'm still encountering some issues:

Home Page Translation: I am unable to translate the Home page into Chinese. It seems that the translation option is not available or not functioning as expected.

Services Page: While I’ve managed to translate the Services page, the logo and images are missing after translation. Could you advise on how to address this?

Contact Page: I’m unable to locate the text strings for translation on the Contact page. I’ve searched through the translation settings but can’t find where the text needs to be updated.

Other Pages: Several other pages fail to display correctly after switching to Chinese. I’m not sure if this is related to the translation setup or if there’s another underlying issue

August 28, 2024 at 3:31 pm #16116004

Noman
Supporter

Languages: English (English )

Timezone: Asia/Karachi (GMT+05:00)

Thanks for updating the Elementor Pro plugin to the latest version. I’ve noticed that the custom Elementor elements are coming from “Lifest Elementor” plugin which seems bundled with “Lifest” theme which doesn’t seem to be in our verified compatibility theme list: https://wpml.org/theme/

So, I’ve followed the below steps:

1. To make Home, contact, services page custom Elementor elements WPML Translation Editor compatible, I’ve added the below XML:

<wpml-config>
  <elementor-widgets>
    <widget name="home-02-page-banner">
      <fields>
        <field>banner02_subtitle</field>
        <field>banner02_title</field>
        <field>banner02_content</field>
        <field>butn</field>
        <field>butn_link</field>
      </fields>
      <fields-in-item items_of="banner_items">
        <field>banner_subtitle</field>
        <field>banner_title</field>
        <field>banner_content</field>
      </fields-in-item>
    </widget>
    <widget name="home-02-page-about">
      <fields>
        <field>about02_content_01</field>
        <field>about02_sub_heading</field>
        <field>about02_heading</field>
        <field>about02_content_02</field>
        <field>about02_tab_title</field>
        <field>about02_tab_items</field>
        <field>tab_items</field>
        <field>tab_items_description</field>
        <field>butn</field>
        <field>butn_link</field>
      </fields>
      <fields-in-item items_of="about02_tab_title">
        <field>about02_tab_title</field>
      </fields-in-item>
      <fields-in-item items_of="about02_tab_items">
        <field>about02_tab_items</field>
      </fields-in-item>
      <fields-in-item items_of="tab_items">
        <field>about02_tab_title</field>
      </fields-in-item>
      <fields-in-item items_of="tab_items_description">
        <field>about02_tab_items</field>
      </fields-in-item>
    </widget>
    <widget name="home-02-page-why-choose-us">
      <fields>
        <field>whychooseus02_heading</field>
        <field>whychooseus02_sub_heading</field>
        <field>accordion_items</field>
      </fields>
      <fields-in-item items_of="accordion_items">
        <field>accordion_heading</field>
        <field>accordion_content</field>
        <field>custom_butn_link</field>
      </fields-in-item>
    </widget>
    <widget name="service-01-page-pagetitle">
      <fields>
        <field>sub_heading</field>
        <field>heading</field>
      </fields>
    </widget>
    <widget name="service-01-page-service">
      <fields>
        <field>heading</field>
        <field>sub_heading</field>
        <field>service_heading</field>
        <field>service_sub_heading</field>
      </fields>
    </widget>
    <widget name="contact-page-pagetitle">
      <fields>
        <field>heading</field>
        <field>sub_heading</field>
      </fields>
    </widget>
    <widget name="contact-page-form">
      <fields>
        <field>heading</field>
        <field>sub_heading</field>
        <field>contact_form</field>
        <field>contact</field>
      </fields>
      <fields-in-item items_of="contact">
        <field>contact_heading</field>
        <field>contact_content</field>
      </fields-in-item>
    </widget>
  </elementor-widgets>
</wpml-config>

In WPML >> Settings > Custom XML Configuration page.

2. Opened the default language page in Edit mode, made a small change in the page title, pressed an update button to reload the translation, then removed the small change and pressed an Update button again.

3. Click on the secondary language icon to open up the page in WPML Translation Editor and it shows the content for translation as you can see in the attached screenshots.

4. For services page missing images issues, followed the below steps:
4.1. Went to the WPML >> Settings > Custom Fields translation section.
4.2. Click on the “Show System fields” link.
4.2. Set “_cmb_service_description” field to Translate, _cmb_service_icon_image, and _cmb_service_image_01 to Copy as you can see in the attached screenshot and press the save button.
4.3. Re-saved the default language Services posts from Services >> Service page: hidden link and it solved the issue.

5. For several other pages issues, please note that we are allowed to handle one issue per chat/ticket as per our support policy, please take a backup of your site and make sure to update your current theme to the latest version and if the issue still persists, please feel free to create a new chat/ticket anytime with more details for each new issue and we would be more than happy to help.

Please try to complete the translation of home, service and contact page and let me know if this resolves the issue or if you need further assistance with this issue.

Thank you for your cooperation

home content is available for translation.png
Serverices page.png
custom fields settings.png
service settings.png
Contact page translation.png
our services page.png