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
- 10:00 – 17:00 10:00 – 17:00 10:00 – 17:00 10:00 – 17:00 10:00 – 17:00 -
- 18:00 – 19:00 18:00 – 19:00 18:00 – 19:00 18:00 – 19:00 18:00 – 19:00 -

Supporter timezone: Asia/Kathmandu (GMT+05:45)

This topic contains 3 replies, has 1 voice.

Last updated by Shekhar Bhandari 1 week, 5 days ago.

Assisted by: Shekhar Bhandari.

Author Posts
April 10, 2026 at 1:21 pm #17962270

mateuszH-2

Hello,

I am writing to report a critical performance issue that seems to have started after upgrading WPML Multilingual & Multicurrency for WooCommerce to version 5.5.5, which I have traced to a change in how WCML injects multi-currency price cache HTML into price strings.

## The Problem
My wp_woocommerce_sessions database table grew from ~1-2GB to over 4GB within a short period, with ~65,000 entries. Each session entry is approximately 115KB in size, whereas previously sessions were a few KB each.

## Root Cause Identified
After analyzing the raw session data in the database, I found that each session contains a key called fs_free_shipping_notice (written by the Flexible Shipping plugin). Inside this key, WCML is injecting a wmc-price-cache-list HTML blob containing pre-rendered price strings for every single supported currency (~100 currencies), for every price threshold value.

For a single $100.00 free shipping threshold, WCML is generating and storing a full HTML price string for all ~100 currencies (USD, EUR, CHF, GBP, PLN, AED, KRW, JPY, CNY, AUD, CAD, NOK, SEK, DKK, CZK, AFN, ALL, AMD... and so on). This alone accounts for ~115KB per session entry.

## This Is a Recent Regression
This behavior started approximately after upgrading WPML Multilingual & Multicurrency for WooCommerce - it was NOT happening before. Session sizes were normal prior to this.

## Environment
- WordPress: 6.9.4
- WooCommerce: 10.6.2 (HPOS enabled)
- WPML Multilingual & Multicurrency for WooCommerce: 5.5.5
- Flexible Shipping: 6.5.7
- PHP: 8.1.34

## Evidence
Here is a sample of the bloated data structure stored in each session. The wmc_price_cache attribute inside the price HTML contains pre-rendered strings for every currency:

<span data-wmc_price_cache="{"USD":...,"EUR":...,"CHF":...[~100 more currencies]}">

I have also contacted Flexible Shipping support, but since the oversized data originates from WCML's currency cache injection, I believe the fix needs to come from the WCML side.

Thank you,

April 13, 2026 at 11:06 am #17965585

Juan de Paco
Supporter

Hello.

Thanks for reaching out.

While a supporter gets assigned to your request, I would like to pass some information to our development team to do some initial checks. To do so, I would need you to share some more information about your setup:
- Some description on your WCML configuration (like your currencies setup).
- A confirmation of the Flexible Shipping plugin being used (Is it https://wordpress.org/plugins/flexible-shipping/? Are you using other related plugin, like https://wordpress.org/plugins/octolize-shipping-notices/?).

Thanks in advance.

April 21, 2026 at 8:55 am #17983311

mateuszH-2

Hello,
we are using Flexible Shipping plugin.

We have 3 active currencies and the rest is disabled. The list of currencies is the standard list created when the plugin is installed.

April 22, 2026 at 4:25 am #17985781

Shekhar Bhandari
WPML Supporter since 03/2015

Languages: English (English )

Timezone: Asia/Kathmandu (GMT+05:45)

Hello there,

I'd be helping you forward here.

To debug this issue further, I would need to check your site settings once, for this I would need temporary access (wp-admin and ftp) to your site.

So could you please provide me with those details, you will find the needed fields for this below the comment area when you log in to leave your next reply.
hidden link

This info is private and available to you and WPML supporters only.
Read more about this: https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/

Note:
Backup your sites before providing the credentials or if possible provide credentials for the test site

Look forward to your reply.

Thanks