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 5 replies, has 2 voices.

Last updated by Mihai Apetrei 1 year ago.

Assigned support staff: Mihai Apetrei.

Author Posts
September 9, 2018 at 11:03 am

aliciaO

Hi,

I'm working this theme: https://wpml.org/theme/wpresidence/

I've translated CF7 contacts using WPML -> Translation Management as you can see on the screenshot "CF7-translations.jpg" attached. However when I went to the CF7 translated forms no info was in the form, so I've manually added the fields and all forms are now completed.

The issue is that the CF7 keeps appearing in english when other languages are selected, as you can check on the "CF7-english-other-languages.jpg" screenshot.

I've "Clear WpResidence Cache" and I've also "Clear the cache in WPML" and "Synchronize posts taxonomies" on "Contact Forms" and the issue persists.

Thanks

September 10, 2018 at 3:00 pm #2720443

Mihai Apetrei
Supporter

Languages: English (English )

Timezone: Europe/Bucharest (GMT+03:00)

Hi and thank you for writing us!

I will be happy to help you with this.

By looking at the screenshots you attached and also at the backend panel of your site, we can see that right in the Theme Options, under WpResidence Options > Social & Contact > Contact 7 Settings > Contact form 7 code for contact page is the contact form 7 shortcode that gets loaded at the bottom of the contact page.

The reason why we have only the English-language form displayed on all the three different-language versions of the Contact page is because the shortcode that’s set under the Theme Options is the exact code that displays the English language form.

So, in order to translate that, we will need to take a few extra steps:

WPML > String Translation (Tradução de string) > Translate texts in admin screens (Tradução de textos em ecrãs admin ») > Search for “wp_estate_contact_form_7_contact” on the page > Check the box next to that line and then hit “Apply”. Now you should find the field under the WPML > String Translation page and you can now use as a translation for each of the other 2 languages the exact shortcodes for each of the translated contact forms.

For example if we go and select the Portugal language in the WordPress backend, and then click on the left “Contacto” tab we can see this shortcode that we could use for the form called “Contact Page PT”:

[contact-form-7 id="18952" title="Contact Page PT"]

We simply copy that, go back into the WPML > String Translation page and we add this shortcode as a translation for the “wp_estate_contact_form_7_contact” field. Then we check the “Translation is complete” check-box and hit “Save”. That should solve this.

You can also find more information about what I wrote above here: https://wpml.org/documentation/getting-started-guide/translating-theme-options/

The process would have been easier if the shortcode of the form would have been added inside a Visual Composer Text module, right inside each language version of the Contact page but because it is loaded straight from the Theme Options panel, we need to go with different steps.

Please let me know how it goes. If you still need help implementing this, I will be happy to help just let me know.

PS: I’m also attaching a screenshot of the section in the backend of the Theme Options where we can find the Contact Form 7 shortcode I was telling you about.

September 18, 2018 at 11:52 am #2744893

aliciaO

Hello,

Thank you for your help.

I've followed your instructions and in the portuguese version the agent contact was assumed and displays correctly. However this does not happen on the french version where no contact is displayed or in Portuguese & French contact page where also no contact is displayed.

Did I miss anything?

I'm sending you some prints, but your free to login to the website if you need to.

Thanks

September 18, 2018 at 5:56 pm #2746197

Mihai Apetrei
Supporter

Languages: English (English )

Timezone: Europe/Bucharest (GMT+03:00)

Hi.

Please take a look at the steps presented here: https://wpml.org/documentation/plugins-compatibility/using-contact-form-7-with-wpml/

From what I see, for the moment each of the translated forms have been created separately (for example the EN form has been created from the EN backend, the FR form has been created from the FR backend and so forth).

According to the documentation, forms should be created on the default language of the site and then you would need to update the old shortcodes with the new generated ones by Contact Form 7.

Let me know how that goes.

September 19, 2018 at 9:09 am #2747982

aliciaO

Hi,

Thanks for your reply.

I've followed the instructions and created French CF in Portuguese language, that is the default site language (however on the begginig English was the default site language).

Well, the CF appears on the agent sidebar correctly in all 3 languages, but the CF of the Contact Page only appears in Portuguese and English, the French CF of the Contact Page does not appear.

How can I solve this?

I've noticve that on the CF WPML instructions he indicates to add the CF code exactly has it is showed on the CF, but on the WPML instructions it appears like this:

[contact-form-7 id=\"18281\" title=\"Contact Page\"]

So I've added the French & Portuguese language the same way:

PT - [contact-form-7 id=\"18952\" title=\"Contact Page PT\"]
FR - [contact-form-7 id=\"19055\" title=\"Contact Page FR\"]

On the Agent Contact form it worked, but on the Contact Page the French form isn't showing.

Thanks

September 19, 2018 at 8:16 pm #2749932

Mihai Apetrei
Supporter

Languages: English (English )

Timezone: Europe/Bucharest (GMT+03:00)

Hi.

After looking at the translated strings (using WPML String Translation) and at the French contact form shortcode, I realized the wrong shortcode was in the string.

We had:

[contact-form-7 id="18953" title="Contact Page FR"]

instead of:

[contact-form-7 id="19055" title="Contact Page FR"]

I updated that so now the form displays on the French version of the site, too.

Please check and let me know if that works for you, too.