Skip to content
Product Catalog

WooCommerce Variations Not Showing? Work Through These in Order

No dropdowns, no Add to Cart, or “please select some product options”: three symptoms with different causes, and the one that explains most of them.

About Quick Variable Products
Article cover: Variations not showing, start here — Quick Variable Products

You built a variable product. On the front end it’s wrong: no dropdowns, or dropdowns with no Add to Cart button, or the message “Please select some product options before adding this product to your cart” from a customer who definitely selected them.

WooCommerce variations not showing is three different problems wearing one description, and they have different causes. Identify which symptom you have first — it eliminates most of the checklist immediately.

Which symptom do you have?

What you seeWhat it means
No dropdowns at allWooCommerce doesn’t think this product has variations
Dropdowns, but no Add to CartThe variations exist but aren’t purchasable
“Please select some product options”The selection isn’t resolving to a variation

Work the section that matches. Guessing across all three is how an afternoon disappears.

Symptom 1: no dropdowns at all

The product page looks like a simple product with no options. Three causes, in order:

  • The product type isn’t Variable. Product data dropdown, top of the Product data box. Obvious once you look, easy to miss when a product was duplicated from a simple one.
  • The attribute isn’t marked “Used for variations”. On the Attributes tab, each attribute has this checkbox. Without it the attribute is display-only — it shows in the Additional Information tab and never becomes an axis. This is the single most common cause of symptom 1, and it’s covered in more depth in attributes vs variations.
  • No variations have been created. The attributes exist, the checkbox is ticked, but nobody pressed Generate variations. The Variations tab will be empty and will tell you so.

Symptom 2: dropdowns but no Add to Cart

The selectors render, the customer picks a combination, and nothing happens — no button, no price.

The variation has no price

This is the answer far more often than anything else, and it deserves its own heading because it’s so unhelpfully silent.

A variation with an empty price field is not purchasable. WooCommerce will not render an Add to Cart button for it. Nothing in the admin flags it — the variation looks complete, it just has one empty box.

Check by expanding each variation and looking at the Regular price field. On a product where some sizes work and others don’t, the ones that don’t work are the ones with no price. Nearly always.

The variation is out of stock

Either explicitly set to Out of stock, or managing stock with a quantity of zero and backorders disabled. Correct behaviour, but it looks identical to a bug if you weren’t expecting it.

The variation is disabled

Each variation has an Enabled checkbox. Unticked variations exist in the admin and don’t exist to customers.

Symptom 3: “Please select some product options”

The most confusing one, because the customer did select the options. This message means WooCommerce received a form submission it couldn’t match to a specific variation.

  • The combination doesn’t exist. You have Red and you have XL, but no Red / XL variation was ever created. The dropdowns offer it because they’re built from the attribute values, not from the variations that exist.
  • A JavaScript error is breaking the form. The variation form is client-side; another script failing before it will stop the selection from resolving. Open the browser console and look for errors.
  • Caching or JS optimisation. A cached page, or a plugin that combines and defers JavaScript, can serve a version where the handler and the variation data disagree. Purge everything and retest in a private window.
  • A theme override. Themes that replace the single-product template sometimes don’t reimplement the variation form correctly. Switch to Storefront temporarily — if it works there, it’s the theme.

The checklist, in cost order

If you’re not sure which symptom you have, work down this list. Each step is cheaper than the next.

  1. Is the product type Variable product?
  2. Is Used for variations ticked on each axis attribute?
  3. Do variations actually exist on the Variations tab?
  4. Does every variation have a price? ← start here if the dropdowns render
  5. Is each variation Enabled, and in stock?
  6. Does the specific combination the customer chose exist?
  7. Any errors in the browser console?
  8. Does it work after a full cache purge, in a private window?
  9. Does it work on a default theme?

Steps one to six are data and cost nothing to check. Only move to seven if the data is clean — otherwise you’ll be debugging JavaScript to explain an empty price field.

Why this happens more on bulk-created products

There’s a pattern worth naming. Products built one variation at a time rarely have this problem, because you were looking at each price box as you filled it in. Products built by generating a matrix, importing a CSV, or duplicating an existing product frequently do — because generation creates the rows and something else was supposed to fill them.

A CSV import with a missing price column produces dozens of priceless, unpurchasable variations that look completely normal in the admin. So does adding a new size across many products without setting its price, which is why extending an attribute across a catalogue needs its own care.

The structural fix is to make the empty field visible at the moment it’s created. When the whole matrix is on one screen, an empty price is a gap in a column you’re looking at — rather than something hidden inside the fortieth collapsed row.

Every variation of a product on one screen with its price field visible in a single column
An empty price is obvious as a gap in a column. It is invisible inside the fortieth collapsed variation row.

That’s the shape Quick Variable Products uses when you build the product: a base price applied to every row by default, with overrides where they belong, so the priceless-variation failure doesn’t have anywhere to hide.

Preventing it

  • Never save a variation with an empty price. If a combination shouldn’t be sold, disable it or don’t create it — don’t leave it priceless and hope.
  • Look at the front end after generating. Thirty seconds, on the product you just built, before you build the next ninety the same way.
  • Check a combination you didn’t test — the last one in the list, not the first. The first one is usually fine.
  • Don’t create combinations you don’t sell. Every generated-but-unstocked combination is a future “please select some product options” report.

Four habits, all free, and between them they cover the overwhelming majority of these tickets.

Variations not showing FAQ


Why are my WooCommerce variations not showing on the product page?

Identify the symptom first. No dropdowns at all usually means the product type is not Variable, the attribute is not marked “Used for variations”, or no variations were created. Dropdowns with no Add to Cart button usually means a variation has no price. The “please select some product options” message means the selection is not resolving to a variation.


What causes "Please select some product options before adding this product to your cart"?

WooCommerce received a selection it could not match to a specific variation. Either that exact combination was never created — the dropdowns are built from attribute values, not from the variations that exist — or a JavaScript error, a cached page, or a theme template override is stopping the form from resolving.


Why is the Add to Cart button missing on my variable product?

The most common reason by a wide margin is that the variation has no price. An empty Regular price field makes a variation unpurchasable and WooCommerce shows no button, with no warning in the admin. Also check that the variation is enabled and in stock.


Why do some variations work and others do not?

Compare the ones that work with the ones that do not, field by field. Almost always the broken ones have an empty price, are disabled, or are set to out of stock. If the difference is that the broken combinations do not exist at all, generate the missing ones.


Why does this happen more with imported or bulk-created products?

Because generation creates the rows and something else was supposed to fill them. A CSV import with a missing price column produces dozens of priceless, unpurchasable variations that look completely normal in the admin. Building one variation at a time rarely causes this, because you were looking at each price box as you filled it.


How do I stop this happening again?

Never save a variation with an empty price — disable it or do not create it. Check the front end on the product you just built before you build ninety more the same way, and test a combination from the end of the list rather than the beginning, because the first one is usually fine.


Keep reading

Related articles