Available for projects & agency overflow · Quick reply, from the person who does the work

WooCommerce variable products displaying wrong

A WooCommerce variable product isn’t a single record: each combination of attributes (size, colour…) is its own "variation", with its own price, stock and sometimes its own image. A wrong display almost always comes from a mismatch between those variations and what the theme or the cache actually shows the customer.

Describe my issue Send a message

How I go about it

  1. Checking the variation itself in the database

    I look at the variation in the WordPress admin, under the product’s Variations tab: are the price, stock and image actually correct there, independent of what the front end shows?

  2. Clearing WooCommerce transients

    WooCommerce caches price ranges and some variation data in transients. After a bulk edit or an import they can go stale: WooCommerce > Status > Tools has a dedicated action to clear them.

  3. Checking attribute matching

    I check whether a global attribute (a taxonomy like pa_couleur) is mixed up with a local attribute specific to that product: this mismatch can leave a variation existing in the database that never resolves on the front end.

  4. Testing with caching fully off

    I reload the product page with page caching disabled. A static caching plugin can freeze a product page’s HTML, including price and stock, well after the real data has changed.

  5. Targeted fix

    Depending on what turns up, I fix the data, reassign the attribute, or adjust the cache configuration to exclude what needs to stay dynamic.

What I handle regularly

  • The price shown on a variation doesn’t match what’s entered in the WordPress admin
  • "Out of stock" shows up even though the quantity is correctly set
  • The product image doesn’t change when the customer picks a colour
  • A variation exists in admin but never shows in the customer’s dropdown
  • It only happens on some products, never all of them, with no obvious pattern

Three quite distinct causes

The most common cause is genuinely stale data: WooCommerce stores a calculated price range in a transient to avoid recomputing it on every page view. A bulk price edit or a CSV import doesn’t always refresh that cache automatically, leaving a displayed price that no longer matches anything.

The second cause sits in the product’s structure itself: a variation is built from a combination of attributes, and a global attribute (a taxonomy shared across products, like pa_couleur) doesn’t behave the same as a custom attribute local to one product. Mixing the two, often inherited from an import or a manual edit, can leave a variation technically present in the database that never resolves correctly on the product page.

The third cause has nothing to do with data: a full-page caching plugin can freeze a product page’s HTML, including a variation’s price and stock status, long after reality has changed in the database.

Worth reading too

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

besoin
etat
constructeur (facultatif)
extensions (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.

Frequently asked questions

Can I clear the transients myself without risk?
Yes. The action sits in WooCommerce > Status > Tools and simply recalculates data already present in the database: it doesn’t delete or alter your products.
Why does it only affect some products?
Because it almost always comes from a specific attribute combination or import history unique to those products, not a global setting affecting the whole catalogue.
I have a caching plugin, do I need to disable it?
Not necessarily disable it, but product pages need excluding from page caching, or at minimum the cache needs clearing after every price or stock change.
How many variations can WooCommerce handle without issues?
WooCommerce core handles a reasonable number of combinations fine, but past several hundred variations per product, admin performance degrades noticeably.