Skip Navigation

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

Problem:
The client is experiencing issues with translating link targets and syncing menu items using WPML. Specifically, they encounter an error message 'Error! Reload the page and try again' when translating link targets and a 504 timeout error when syncing menu items, despite increasing the timeout limit.
Solution:
We identified that the issues occur when using WPML with the Breeze caching plugin and WooCommerce. Disabling the Cache System option in Breeze resolves the issue with translating link targets. For syncing menu items, if continuing with Breeze, we recommend adding the following code to the functions.php file of your Child Theme to handle currency switching for non-logged-in users:

add_filter( 'wcml_is_cache_enabled_for_switching_currency', '__return_true' );

Additionally, we suggest consulting the Breeze support to explore options for excluding specific scripts from caching. If Breeze support cannot provide a solution, please contact us for further assistance.
Please note that this solution might be outdated or not applicable to your specific case. 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 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 33 replies, has 0 voices.

Last updated by zakW 3 weeks, 1 day ago.

Assisted by: Andreas W..

Author Posts
April 24, 2025 at 2:47 pm #16964915

zakW

Background of the issue:
I'm trying to translate all link targets on my website using WPML. Additionally, I need to sync all the items on my menu.

Symptoms:
WPML says 'Error! Reload the page and try again' when translating link targets. I also encounter a 504 timeout error when syncing menu items, even after increasing the timeout limit to 2 hours.

Questions:
Is there a way to translate link targets via code?
Is there a way to sync menu items via code?

April 24, 2025 at 9:44 pm #16966428

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

You are trying to sync more than 95k links.

The PHP Time Limit is set to 300 seconds on your server, which means that if the dialog runs 5 minutes, it will be canceled by the server.

I would suggest you contact your hosting support team and ask them to set a higher value for the max_execution_time inside the PHP settings.

Best regards
Andreas

April 25, 2025 at 7:23 am #16967081

zakW

Hi Andreas,

I have access to the server so I can change the time to whatever value I have too. Is there a recommendation from your side that I can change it too. I had one time running the server with 2h and it wasn't enough

That is why I asked if there was a way to do this outside the backend and do it via a cron job for example

April 25, 2025 at 2:18 pm #16968979

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Honestly, this is the biggest amount of internal links I have seen so far and I can not tell how long the dialog would need to run. I know that this dialog can demand a lot of time, but maybe we should check if an error will be logged while the dialog is running.

If 2 hours were not enough in the past, maybe try setting the limit even higher.

What I can offer is to take a look at the affected original contents and their translations and run some tests, if you provide me admin access and links to example contents.

Also, if you provide me admin access I can enable WP DEBUG and check for errors but please make sure first to set the time limit in PHP to a significantly higher value.

I would like to request temporary access (wp-admin and FTP) to the website to investigate the issue further.

You can find the required fields below the comments section when you log in to leave the next reply. The information you provide is private, meaning only you and I can see and access it.

IMPORTANT
Please be sure to back up your website and database before granting us access.
If you can't see the "wp-admin / FTP" fields, your post and website credentials will be set to "PUBLIC." DO NOT publish the data unless you see the required wp-admin / FTP fields.

I may need to install a plugin called "All In One WP Migration" to create a copy of the website so I can investigate the issue further on a virtual server for comparison.

The private reply form looks like this:
hidden link

Click "I still need assistance" the next time you reply.

Video:
hidden link

Please note that we are required to request this information individually on each ticket. We are not permitted to access any credentials that were not specifically submitted on this ticket using the private response form.

April 29, 2025 at 5:17 pm #16980469

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

The site has more than 12k products.

It would be very helpful in this case if you could provide exact examples.

Please send me the links or titles of the original products.

Further, there are 32 Updates available. Please do only report an issue, if you verified that the issue persists after running the site with the latest versions of all components (WP Core, Theme, Plugins).

May 6, 2025 at 8:09 am #16999913

zakW

Hi Andreas,

Sorry for the late response on this subject. I found the route of the problem and it was related to the permalinks that were not correctly setup for the other languages.

I do have another problem. My client wants to include a currency switcher on the product page that should only change the currency and not the language. I have added it on the website but its not working. Do you know why? do they work independently?

Link to an example product in Euros (€) - hidden link
Can you please try to change it to Pounds (£) and see why its not working?

Best Regards
Ruben

May 6, 2025 at 10:55 pm #17003861

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hi Ruben,

Indeed, the currency switcher will only change the currency, not the language.

On your website currently, 30 active plugins are not updated. Could you please run all the available updates and let me know if the issue persists?

Best regards
Andreas

May 7, 2025 at 7:58 am #17004826

zakW

Hi Andreas

Thank you for confirming that the currency switcher works independently from the language switcher, and I have updated most plugins. Some are not possible because, being a staging site, licenses didn't carry over.

This is still not working. The page reloads and the currency doesn't change. Here is a link to a product - hidden link you can test in your side

Can you please try and see what is happening?

Best Regards
Ruben

May 7, 2025 at 3:29 pm #17007554

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

I just gave this a test and it is working. See screenshot.

Example:
hidden link

currency.jpg
May 7, 2025 at 3:50 pm #17007625

zakW

Hi

I just tried in both incognito and normal browsers and its not working for me.

Out of curiosity, I have the website working with geolocation. Does that have any influence on it?

I have tried this multiple times and its not working for me

I recorded a video to show you hidden link

May 8, 2025 at 1:24 am #17009335

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

As you can see on the attached screenshots, I am still able to switch the currency while watching a product.

WCML on your site is set to "Site Language".

Do I understand correctly, that on the live site, you use Geolocation to determine the currency in WCML?

pln.jpg
euro.jpg
May 8, 2025 at 7:37 am #17010089

zakW

Sorry I was referring to the woocommerce settings "Default customer location" not WPML.

I have asked a colleague in the office to try the currency switcher again and still not working.

We used the same environment as shown on the video. We are in the UK while trying this. Are you in the UK as well? Does my location interfere with the switch of the currency?

May 9, 2025 at 2:05 am #17014198

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

My apologies, I can see the issue now. I was simply not expecting that it only occurs if a user is not logged in.

(While being logged in I can not confirm the issue, but it may take up to 20 seconds for the currency switch to occur, which also is unexpected.)

---

I was able to confirm that this issue occurs when testing only with the plugins:

- Breeze
- WooCommerce
- WPML & Addons

The issue is not theme-related.

---

I will try to recreate this issue on a new test site so that we can confirm if we are handling a general compatilbity issue between Breeze and WCML.

For now, please leave the access to your staging site active, so that I can review the settings.

May 9, 2025 at 7:41 am #17014907

zakW

Hi Andreas,

Thank you for confirming that you can see the issue on your side. For us, it's happening for both types of users, which is even more strange.

I have enabled all plugins again and changed the theme back to the one it was active.

Please do keep me updated when you find what is the issue and how we can resolve it

May 9, 2025 at 5:40 pm #17017581

Andreas W.
WPML Supporter since 12/2018

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

I was able to recreate the issue using only WPML and Breeze with WooCommerce on a test site in a minimal setup:

Example:
hidden link

Disabling the Cache System option in Breeze solves the issue.

---

Before taking any further steps, could you please ask the "Breeze" support about how to avoid caching for the currency switcher's script which is located at /wp-content/plugins/woocommerce-multilingual/res/js/wcml-multi-currency.min.js.

I tried to exclude the script from caching using the plugins options, but it seems not to solve the issue.

---

If the Breeze Support can not provide a solution, please get back to me so that I can escalate this issue internally.