Startseite›Support›Unterstützung in Deutsch›[Warten auf die Bestätigung des Benutzers] Shipping classes not recognized in default language (German) – works in secondary language
[Warten auf die Bestätigung des Benutzers] Shipping classes not recognized in default language (German) – works in secondary language
Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.
Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.
I’m experiencing an issue with WooCommerce shipping classes in a multilingual setup.
Setup:
WooCommerce
WPML + WooCommerce Multilingual
Elementor Pro
German = default language
English = secondary language
❗️Issue
Shipping costs are not calculated correctly when products have a shipping class assigned (worked fine until last week):
With shipping class → 0€ shipping (not calculated)
Without shipping class → shipping works correctly
Key observations
In the English version, shipping works correctly even with shipping classes
In the German version (default language), shipping classes are not applied in checkout
Shipping methods are found, but shipping class cost is ignored
Critical detail
👉 When Elementor Pro is deactivated, everything works correctly in German
👉 When Elementor Pro is active, the issue appears again
👉 On a staging site, I also tested without any Elementor WooCommerce templates (using only native WooCommerce shortcodes [woocommerce_checkout])
→ no change, issue persists
What has already been tested (WPML related)
WPML language format verified (directories /en/)
“Synchronize post taxonomies” executed
“Remove ghost entries” executed
“Fix term taxonomy” executed
WooCommerce Multilingual → Status sync executed
Product shipping classes confirmed as translated
Full bulk update of products (re-saving products)
Created a completely new shipping class and assigned it → same issue
Cache cleared (LiteSpeed + Woo transients)
Conclusion
It seems that:
👉 Shipping classes exist and are translated correctly
👉 but in the default language, the shipping class is not correctly resolved during checkout calculation
Possibly due to interaction between:
WPML taxonomy handling
WooCommerce shipping class logic
Elementor frontend/AJAX behavior
Request
Is this a known issue with shipping classes in multilingual setups?
Are shipping classes supposed to be translated or shared across languages?
Is there a recommended configuration to ensure correct shipping calculation?
Thank you for sharing the details. Since the error is occurring only on the default language, when Elementor is active, please check if the issue persists when Elementor is active AND WPML is deactivated. Let me know the results.
I would like to look at this directly on your site. For this I would need temporary access (WP-Admin and FTP) to your site, preferably to a test/staging site where the problem has been replicated if possible.
The required fields can be found below the comments section. The information you enter is private, i.e. only you and I can see it and have access to it.
I may need to replicate your website locally. To do this, I need to temporarily install a plugin called "Duplicator" or "All in One WP Migration" on your website. This will allow me to create a copy of your website and content. Once the issue is resolved, I will delete the local website. Let me know if this works for you.
IMPORTANT
Please make a backup copy of the site files and database before giving us access.
- If you do not see the wp-admin/FTP fields, this means your post and site login details are being made PUBLIC. DO NOT post your website details if you do not see the required wp-admin/FTP fields. If you do not, ask me to enable the private box. The private box looks like this:
The issue seems to come of a more complex conflict. Here's what I found so far:
1. When all plugins are activated it does not work:
1.1. If you deactivate either: WPML Multilingual CMS OR Elementor OR WooCommerce Smart Coupons it starts working
2. If only WPML, WPML ST, WCML, Elementor, Elementor Pro and WooCommerce Smart Coupons are active, it works
I'm getting a second opinion with my colleagues and will get back to you once I have new updates.
I'm just remembering. There was a problem before with Smart Coupons and WPML. The free gift functiion did not work correctly in second language. I had given this code from WPML Support which is still active:
add_action( 'wpml_language_has_switched', function () {
if ( is_admin() || ! function_exists( 'WC' ) || ! WC()->cart ) {
return;
}
if ( ! class_exists( 'WC_SC_Coupon_Actions' ) ) {
return;
}
$sc = WC_SC_Coupon_Actions::get_instance();
foreach ( WC()->cart->get_cart() as $key => $item ) {
if ( empty( $item['wc_sc_product_source'] ) ) {
continue;
}
Thank you for waiting. Upon checking, we noticed that the code you provided was actually the culprit. Since this now has been fixed by the authors, the code is no longer necessary.
Please remove the code and update all of your plugins. This should fix the issue. Let me know if you have any questions.