Hello.
We noticed that the language switcher widget is not working correctly on the WooCommerce checkout page.
Situation: We send emails from the WooCommerce admin area.
These emails go, for example, to customers whose payment fails and contain the payment link for the order.
By default, the payment link in the email is in the admin language.
This is often wrong.
We solved it with custom coding.
What we noticed: When a customer calls up the payment link, the pay_for_order parameter is missing in the language switcher widget links.
As a result, the customer cannot pay if he wants or has to change the language.
The translated link is incorrect.
It affects all links in the widget.
Even the language that the user is currently viewing in the frontend.
Example widget links:
- EN: /en/checkout/order-pay/123/?key=wc_order_xyz
- FR: /fr/caisse/order-pay/123?key=wc_order_xyz
- DE: /kasse/order-pay/123?key=wc_order_xyz
The "pay_for_order" parameter is missing.
Note: I'm just talking about the widget language switcher, not the menu language switcher. I haven't tested the menu language switcher.
It doesn't matter in which language I initially call up the payment page. Always the same error.
Hello There,
Thanks for contacting WPML Support. I will try my best to assist you in this matter.
I understood that a specific parameter gets removed from the URL when you switch to a different language. Would you please try using the "Preserve URL arguments" feature? This feature helps to pass the parameter when you switch to other languages.