Skip to content Skip to sidebar

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

Problem:

Experiencing issues with incorrect display of translated delivery times on English product pages for old products in WooCommerce Germanized, after changing the default site language from English to German. New products display correctly, but old products show a fallback delivery time of '3–4 business days' instead of the translated value.

Solution:

We recommend taking the following steps after ensuring you have a full site backup:

1) Navigate to WPML >> Settings >> Post Types Translation.
2) Set the Products post type to Translatable – only show translated items and save the changes.
3) In the Custom Fields Translation section, click on the Show system fields link and search for the delivery time custom fields using the

*_delivery*

keyword.
4) Set the fields _default_delivery_time and _delivery_time_countries to Translate, then save the changes.
5) Edit an old product created in English, make a minor change, and update it to refresh the translation settings.
6) Update the German translation of the product and translate the Delivery time custom fields using the German version of the Delivery time term’s slug.

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 problem persists, please open a new support ticket.

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.

Tagged: 

This topic contains 14 replies, has 0 voices.

Last updated by Bigul 2 weeks, 2 days ago.

Assisted by: Bigul.

Author Posts
July 31, 2025 at 1:29 am #17283360

juliusM

Background of the issue:
I am trying to display the correct translated delivery times from WooCommerce Germanized on English product pages. My site's default language was originally English, but I switched it to German. Since then, the delivery times on old products are not showing correctly in English. If I create a new product in German and translate it to English, the delivery times display correctly. This issue only affects old products that existed before the language switch. Link to a page where the issue can be seen: hidden link

Symptoms:
The delivery times on old products always display the fallback delivery time '3–4 business days' instead of the translated value. This issue persists despite attempts to re-save products, re-assign delivery time terms, clear caches, and duplicate products.

Questions:
Why are the delivery times on old products not showing correctly in English after switching the default language?
What steps can I take to ensure the translated delivery times display correctly for old products?

August 3, 2025 at 3:44 am #17290577

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hello,

Welcome to the WPML support forum. I will do my best to assist you in resolving the issue.

Just to make sure, please open one of the English products that shows the issue and check if it shows the expected results in the backend or not.

Please try the following troubleshooting steps after a full site backup {mandatory} and make sure the issue exists or not.

1) Go to WPML>>Support page, click on the Troubleshooting link (blue link in the middle of the page)

2) On the Troubleshooting page, please click on the following options of the *Clean up* section. Wait for confirmation of processing after each one.

- Clear the cache in WPML
- Remove ghost entries from the translation tables
- Fix element_type collation
- Set language information
- Fix WPML tables collation
- Assign translation status to duplicated content
- Fix terms count
- Fix post type assignment
- Cleanup and optimize string tables

--
Thanks!

Bigul

August 4, 2025 at 11:53 am #17292928

juliusM

Hello Bigul,

Thank you for your response.

I did the troubleshooting steps you provided, but the issue still persists.

Additionally, I just created a new product for testing, and now even new products are not displaying the delivery time correctly on the English version.

Please advise on the next steps to resolve this.

Best regards,
Julius

Screenshot 2025-08-04 at 7.52.10 PM.png
August 4, 2025 at 7:05 pm #17294558

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hi Julius,

Thank you for the updates. This may be a compatibility issue. So, it requires further checking. To help us troubleshoot the bug without affecting your live site, please follow the steps below if possible:

a) Create a staging/development site, a clone of your live site
b) Temporarily switch to a default WordPress theme, such as Twenty Twenty-Five
c) Deactivate all plugins except WooCommerce, WPML, WPML String Translation, WooCommerce Multilingual & Multicurrency, and WooCommerce Germanized
d) Check if the issue still exists
e) If the issue is resolved, reactivate the other plugins in small groups (3–4 at a time) to identify any conflict
f) Once testing is complete, switch back to your original theme

Please let us know the results. This will help us narrow down the cause and find a proper solution.

--
Thanks!

Bigul

August 6, 2025 at 1:48 pm #17299829

juliusM

Hi BIgul,

I found the following error in the debug.log. Could this be related to the issue?

WordPress database error Table 'MyDB.wp_qfnwnwayfh_icl_strings' doesn't exist for query SELECT s.value as originalMethodTitle, st.language as itemMethodTitleLanguage FROM wp_qfnwnwayfh_icl_strings AS s
LEFT JOIN wp_qfnwnwayfh_icl_string_translations AS st
ON st.string_id = s.id
WHERE s.context = 'admin_texts_woocommerce_shipping'
AND st.value = 'Free shipping'
AND s.name = 'free_shipping13_shipping_method_title'
LIMIT 1
made by require('wp-blog-header.php'), wp, WP->main, WP->parse_request, do_action_ref_array('parse_request'), WP_Hook->do_action, WP_Hook->apply_filters, rest_api_loaded, WP_REST_Server->serve_request, WP_REST_Server->dispatch, WP_REST_Server->respond_to_request, WC_REST_Network_Orders_V2_Controller->network_orders, WC_REST_CRUD_Controller->get_items, WC_REST_Orders_V2_Controller->prepare_object_for_response, apply_filters('woocommerce_rest_prepare_shop_order_object'), WP_Hook->apply_filters, Vendidero\Shiptastic\Api::prepare_order_shipments, Vendidero\Shiptastic\Order->get_shipping_status, Vendidero\Shiptastic\Order->get_current_shipping_status, Vendidero\Shiptastic\Order->needs_shipping, Vendidero\Shiptastic\Order->has_local_pickup, WC_Abstract_Order->get_shipping_methods, WC_Abstract_Order->get_items, apply_filters('woocommerce_order_get_items'), WP_Hook->apply_filters, WCML\OrderItems\Hooks->getOrderItems, WCML\OrderItems\Hooks->translateOrderItems, WCML\OrderItems\Hooks->translateShipping, WCML\OrderItems\Shipping\ShippingMethod->translateItem, QM_DB->query

Could you please check if this missing table (wp_qfnwnwayfh_icl_strings) might be causing the problem?

Thanks!

August 6, 2025 at 2:16 pm #17299985

juliusM

Hi,

I just noticed from the error log that WPML/WCML is trying to query wp_qfnwnwayfh_icl_strings, but in my multisite setup, the correct table for this subsite should be wp_qfnwnwayfh_13_icl_strings.

Could this mismatch be the cause of the issue we’re experiencing?

Thanks,
Julius

August 6, 2025 at 5:54 pm #17300629

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hi Julius,

Thank you for the updates. The first child site in the Multisite network uses the default table prefix "wp_qfnwnwayfh".

An easy way to track and compare is to visit WPML >> String Translation for both the first and the 13th child sites, and check if the strings and their translations are listed correctly.

To fix the "_icl_strings doesn't exist for query" error, please try the workaround suggested in the link below after taking a full site backup (which is mandatory).

https://wpml.org/errata/missing-_icl_strings-_icl_string_translations-data-tables/

--
Thanks!

Bigul

August 12, 2025 at 2:51 pm #17314012

juliusM

Hi Bigul,

I followed your suggested steps:

a) Created a staging/development site cloned from the live site - I DID IT IN LIVE
b) Switched temporarily to a default WordPress theme (Twenty Twenty-Five)
c) Deactivated all plugins except WooCommerce, WPML, WPML String Translation, WooCommerce Multilingual & Multicurrency, and WooCommerce Germanized
d) Checked if the issue still existed
e) Reactivated the other plugins in small groups (3–4 at a time) to check for conflicts
f) Switched back to the original theme after testing

The issue still persists — old products do not display the correct delivery times, while newly created products display correctly.

Please advise on the next steps.

Thank you,
Julius

August 13, 2025 at 6:45 am #17315575

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hi Julius,

Thank you for the feedback. This requires further testing and escalation. So, a couple of requests.

Please fill in the private details fields after a full site backup. I want to access the admin area of your site for further review. Refer to the following links for more details about our private information sharing policies.

https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/

hidden link

Also, allow me to make a copy of your site using the Duplicator plugin (https://wordpress.org/plugins/duplicator/) for debugging the issue on our local server.

--
Thanks!

Bigul

August 15, 2025 at 8:30 am #17322761

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hi Julius,

Thank you for the updates and the login information. We will create a few test products as private posts to troubleshoot this bug.

One question: how are you tracking the visitor’s location on the product page? For example, the delivery time for countries such as France, Germany, Hungary, etc. Is it based on the IP address?

In case of escalation, please allow me to make a copy of your site using the Duplicator plugin so I can debug the issue on our local server. This will help us troubleshoot the problem without affecting your live site.

--
Thanks!

Bigul

August 15, 2025 at 9:10 am #17322919

juliusM

Hello Bigul,

The delivery time for countries is based on the shipping address of the customer.

You can duplicate the site.

Regards,
Julius

August 18, 2025 at 8:10 am #17326530

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hi Julius,

Thank you for the permission. I have made a copy of the site and will debug it further locally, then get back to you as soon as possible. Please wait.

--
Thanks!

Bigul

August 24, 2025 at 1:13 pm #17343190

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hi Julius,

Sorry for the delayed response. The Duplicator copy wasn’t working correctly on my testing servers, likely due to the WordPress Multisite setup. However, I experienced the same result even after I tried installing it as a standalone site.

To verify further, I tested the issue on a fresh installation on our Sandbox server. There, everything worked as expected once I set the Delivery time custom fields to Translate and translated their values (using the German translation of the Delivery time term’s slug). Check the attached images for reference.

Kindly try the following steps after taking a full site backup (mandatory), and then confirm if the issue still occurs:

1) Go to WPML >> Settings >> Post Types Translation
2) For the *Products* post type, select *Translatable – only show translated items* and save the changes
3) Scroll down to the *Custom Fields Translation* section
4) Click on the *Show system fields* link and search for the delivery time custom fields using the *_delivery* keyword
5) Set Translate for the fields *_default_delivery_time* and *_delivery_time_countries*, then save the changes
6) Edit a product created in English, make a minor change, and update it to refresh the translation settings
7) Update the German translation of the product and translate the Delivery time custom fields using the German version of the Delivery time term’s slug

If the issue persists, please try to reproduce it on our Sandbox site. This will help us debug more effectively and escalate the ticket to our developers if needed.

Sandbox Login URL: hidden link

Example Product: hidden link

hidden link (German translation)

--
Thanks!

Bigul

2025-08-24_18h38_25.png
2025-08-24_18h37_48.png
2025-08-24_18h21_35.png
2025-08-24_18h21_07.png
2025-08-24_18h11_59.png
2025-08-24_18h11_17.png
2025-08-24_18h10_38.png
2025-08-24_18h09_13.png
August 27, 2025 at 9:17 am #17350974

juliusM

Hi Bigul,

Thank you for the detailed instructions. I followed the steps you provided (setting the delivery time custom fields to Translate and updating the products), but unfortunately the issue still persists on my site.

I will try to reproduce the problem in your Sandbox environment so you can investigate further.

Best regards,
Julius

August 29, 2025 at 4:50 pm #17358566

Bigul
WPML Supporter since 01/2013

Languages: English (English )

Timezone: Europe/Vienna (GMT+02:00)

Hi Julius,

Thank you for the feedback. It will be great if you can replicate the issue on the sandbox site. Please try it and let us know. We will wait for your updates.

--
Thanks!

Bigul