Skip to content Skip to sidebar

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.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 5:00 – 13:00 5:00 – 13:00 5:00 – 13:00 5:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: America/Argentina/Buenos_Aires (GMT-03:00)

This topic contains 10 replies, has 0 voices.

Last updated by Otto 6 days ago.

Assisted by: Otto.

Author Posts
July 30, 2025 at 5:22 pm #17283000

mikhaelA

Background of the issue:
I am trying to resolve an issue with the WooCommerce checkout page on my website when using the secondary language (English). I contacted WooCommerce first, but they directed me to WPML. The issue can be seen on the checkout page: hidden link. I have a staging environment available for further testing if needed.

Symptoms:
The page fails to load properly in English due to a mixed content error. The AJAX request attempts to use HTTP instead of HTTPS, resulting in the console error: 'Mixed Content: The page at 'hidden link' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'hidden link'. This request has been blocked; the content must be served over HTTPS.' This causes an infinite loading loop in the secondary language version.

Questions:
Could you please advise on how to resolve the mixed content error on the checkout page in the secondary language?
Do you require additional details or access to the staging environment for further testing?

August 1, 2025 at 12:33 pm #17288292

Otto
WPML Supporter since 09/2015

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

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

I apologize for the delay in responding. I will take care of this ticket; the reply time will be shorter now.

I tried to reproduce the problem on my end, but it worked fine for me.

I suggest you try this to help us identify if it might be a conflict with another plugin or theme that is causing the problem.
**IMPORTANT:** Please try this in a staging environment or at least with a backup of your site files and database before continuing.
Disable all plugins except WooCommerce and WPML-related and temporarily change the theme to a default WordPress such as Twenty Twenty-five.
Is the issue resolved with these settings? If so, please reactivate one by one to see which conflicts.

Best Regards,
Otto

August 1, 2025 at 1:20 pm #17288488

mikhaelA

I really don’t understand how it can work on your side. We’re experiencing this issue on our end, and WooCommerce support (who suggested we check this with you) can also reproduce it.

Here are my steps (English version only; the French version, which is the primary language, works fine):
- Add a product to the cart : hidden link
- Proceed to the checkout page : hidden link

After that, the "Your Order" and "Payment Method" sections keep loading indefinitely, and an AJAX error appears in the console (see the uploaded screenshot).

We’ve already tested this on our staging site by:
- Disabling all plugins except WooCommerce and WPML,
- Switching to the Storefront theme,

but the error still persists.

Thanks in advance for your help!

Screenshot 2025-08-01 090802.png
August 1, 2025 at 3:28 pm #17288898

Otto
WPML Supporter since 09/2015

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

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

I am sorry, I meant that I tried to reproduce the issue from scratch and I couldn't. I can see it on your site. I create a fresh new site to test it and it worked there. That's why I suggested a minimal setup.

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.

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.

**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.

Best Regards,
Otto

August 4, 2025 at 4:32 pm #17294182

Otto
WPML Supporter since 09/2015

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

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

Thanks.

I made a copy of your site and installed it locally. And I couldn't reproduce the issue either.

I noted that your site uses some mu-plugins (must use plugins).

Is it possible for you to do this again and make sure to disable the mu-plugins too?
Disable all plugins except WooCommerce and WPML-related and temporarily change the theme to a default WordPress such as Twenty Twenty-five.

To disable the mu-plugins you'll need to rename the folder /wp-content/mu-plugins (undo the change to reactivate them again).

Best Regards,
Otto

August 4, 2025 at 5:21 pm #17294286

mikhaelA

Hello,

I've removed all mu-plugins, switched to the theme you recommended, and disabled all plugins except WooCommerce and WPML. However, the issue still persists on the checkout page:
hidden link

Let me know if you'd like me to test anything else.

Best regards,

Screenshot 2025-08-04 131920.png
August 4, 2025 at 6:53 pm #17294516

Otto
WPML Supporter since 09/2015

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

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

Thanks.

Is the site behind Cloudflare, NGINX proxy, LiteSpeed, or another load-balancer that may terminate SSL?

Can you please try the following:
❌ Please make a full website backup before proceeding ❌

1. Fix proxy/HTTPS headers on the client’s server

- In wp-config.php add:

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO']) {
$_SERVER['HTTPS'] = 'on';
}

- Purge server, CDN and browser cache, then retest /en/checkout.

2. Force HTTPS inside WordPress
- Add define( 'FORCE_SSL_ADMIN', true ); to wp-config.php.
- Re-save Settings → Permalinks and WPML → Languages to regenerate rewrite rules under HTTPS.
- Clear WooCommerce transients (WooCommerce → Status → Tools).

Best Regards,
Otto

August 5, 2025 at 2:07 pm #17296869

mikhaelA

Hello,

All of our sites use Cloudflare, but it's the only one with the issue.

1. We already have this code in our structure. We also empty the cache on cloudflare, our browser and website multiple time.

2. I did everything but we still have the issue : hidden link

August 5, 2025 at 2:28 pm #17296945

Otto
WPML Supporter since 09/2015

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

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

There is a weird redirection there:
hidden link

This does not happen on my local environment.

What's the encryption mode you have for this site? (hidden link)

Can you please try with Full or Full(strict)?

Best Regards,
Otto

August 5, 2025 at 3:00 pm #17297071

mikhaelA

Would this redirection be the cause of the issue?

Both environments (staging and live) are currently set to "Current encryption mode: Full".

We attempted switching to Full (Strict) on the live server, but it didn’t resolve the problem. That said, we have multiple other WooCommerce + WPML sites running without issues under "Full" encryption mode.

August 5, 2025 at 4:50 pm #17297444

Otto
WPML Supporter since 09/2015

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

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

I think so, the redirect drops from HTTPS to HTTP and also removes the trailing slash after /en/. I don't see it in my local environment, and the mixed content issue is not happening there.

I am not sure what it's causing it, though. But it does not seem to be coming from WPML.

I deactivating it to test and checking this URL in the redirection checker:
hidden link

also shows the redirection. It seems that the trailing slash makes it happen because this does not redirect:
hidden link

As I said, I am not sure about the root cause of the problem, but is it possible for you to check with Cloudflare support to see if they have any hint?

Best Regards,
Otto