← Back to Blog
WooCommerce Troubleshooting

When WooCommerce Variations Won't Show Up

October 12, 2026 10 views Amanur Rahman
Variations missing on your WooCommerce product page? Follow this ordered checklist of ten checks, from settings to code, plus when to bring in help.

You added sizes, colors or options to a product, saved it, and opened the product page. The dropdowns are missing, the "Add to cart" button is greyed out, or the page only shows a "Select options" link that goes nowhere. Every minute that happens, a customer who wanted to buy leaves.

When WooCommerce variations stop showing, the cause is almost always one of about ten things, and most of them take a few minutes to check. This guide walks through them in the order a developer would test them, from the quickest checks to the deeper ones, with the exact settings and a few code snippets. If you reach the end and the problem is still there, the last section explains when it makes sense to hire a WooCommerce developer rather than keep guessing.

Back up first. Several fixes below touch product data, theme files or settings. Take a full backup of your database and files before you start, and if you can, test changes on a staging copy of your store. Our guide to why every WooCommerce store needs a staging site explains how.

Quick Diagnosis Table

Match what you see to the most likely cause, then jump to that step.

What you see Most likely cause Go to
No dropdowns at all, only a normal "Add to cart" Product is not set to Variable product Step 1
Dropdowns missing for one attribute Attribute not marked "Used for variations" Step 2
Dropdowns show but a choice has no price or can't be selected Variation has no price, is disabled or out of stock Steps 3 and 4
"Sorry, no products matched your selection" Missing combination or variation limit Step 5
Layout looks broken or options appear in the wrong place Outdated theme template Step 6
Worked yesterday, broke after an update Plugin, theme or builder conflict Step 7
Works when logged in, fails for visitors Caching or minification Step 8
Prices show the wrong range Stale transients or lookup tables Step 9

Step 1: Check the Product Type

It sounds obvious, but it is the first thing to rule out. Open the product in the admin, scroll to the Product data box and look at the dropdown at the top. It must say Variable product. If it shows the default non-variable type, the Variations tab will not appear and the product page will show a single price and a normal button.

Also confirm the product is published, not set to private or draft, and that catalog visibility is set to show it in the shop and search. Variations cannot appear on a page that is not visible to visitors.

Step 2: Check the Attributes

Variations are built from attributes such as Size or Color. Click the Attributes tab and look at each attribute you want customers to choose from.

  • Used for variations must be ticked. If it is not, WooCommerce treats the attribute as plain information and will not create a dropdown for it.
  • Visible on the product page controls whether the attribute shows in the Additional information tab. It is separate from the dropdown, but turn it on while you troubleshoot so you can see the values.
  • Click Save attributes after any change. Many people tick a box and move on without saving.

If you use global attributes (created under Products > Attributes), check that the terms you need are actually added to this product. A term that exists in the store but is not attached to the product will not show.

Brown cardboard box on a white table representing a product listing

If a product setup still misbehaves after these first two checks, a store developer can usually find the issue in minutes. You can hire a WooCommerce developer to audit the product configuration while you keep selling.

Step 3: Check Each Variation

Open the Variations tab and expand each variation. This is where most "variations not showing" problems live.

  1. Enabled: the checkbox on the variation must be ticked. A disabled variation is hidden from customers.
  2. Regular price: every variation needs a price. A variation without a price is treated as not purchasable, and WooCommerce will hide it or show an unavailable message.
  3. Stock status: if you manage stock, make sure the quantity is above zero or the status is "In stock."
  4. Attribute values: a variation set to "Any size" will match every size. A variation set to a specific value only matches that value. Check that the values here match the attribute terms exactly.

If you changed attribute names or terms after creating variations, the old variations may point to values that no longer exist. In that case, the quickest fix is often to delete the broken variations and generate them again from the Variations tab, then re-enter prices and stock. Export your product data first if you have many variations.

Step 4: Check Stock and Visibility Settings

Go to WooCommerce > Settings > Products > Inventory and look at the option that hides out-of-stock items. If it is on and every variation of a product is out of stock, the whole product can disappear from the shop. If only some variations are out of stock, customers will not be able to select those options, which can look like a missing dropdown value.

Decide how you want out-of-stock items to behave. Many stores prefer to keep them visible with a clear "out of stock" label so customers can sign up for restock alerts instead of leaving.

Step 5: Fix "No Products Matched Your Selection"

This message appears when a customer picks a combination that does not exist, such as Large and Blue when you only created Large in Red. There are two common causes.

Missing Combinations

If you sell every size in every color, make sure a variation exists for each pair, or use a variation set to "Any" for the attribute that does not matter. Look for gaps in the variation list.

The Variation Limit

WooCommerce loads variation data in the page for products with up to 30 variations by default. Above that, it checks availability through AJAX instead, which can be slower and, with some themes or caching setups, can fail to update the dropdowns. If your product has more than 30 variations, you can raise the limit with a small snippet in a child theme's functions.php or a code snippets plugin:

add_filter( 'woocommerce_ajax_variation_threshold', function( $qty, $product ) {
    return 100;
}, 10, 2 );

Raise it only as far as you need. Very large numbers make the product page heavier to load, so for products with hundreds of combinations it is better to restructure the product or use a purpose-built option plugin.

Step 6: Check Theme Template Overrides

Many themes override WooCommerce's template files, including the one that prints the variation dropdowns. When WooCommerce updates and the theme's copy is out of date, parts of the form can stop working.

Go to WooCommerce > Status and scroll to the Templates section. It lists which template files your theme overrides and flags any that are outdated. To test, temporarily switch to a default theme such as Storefront (on a staging site if possible) and view the same product. If the variations appear, the problem is in your theme's templates.

The fix is to update the theme, update the child theme's copies of the outdated files, or ask the theme author for a compatible version. Do not edit files directly in a parent theme, because updates will overwrite your work.

Step 7: Rule Out Plugin and Builder Conflicts

If variations broke right after an update or after you installed something new, a conflict is likely. Common culprits are product swatch plugins, page builders, product table plugins, caching plugins and anything that changes the add-to-cart area.

A page-builder detail is worth checking. If you built a custom single-product template, it must include the Add to Cart element. The variation dropdowns are printed by that element, so a template without it will show the product but no options.

To find a plugin conflict, deactivate everything except WooCommerce, test the product, then reactivate plugins one at a time. Our step-by-step guide to diagnosing a WordPress plugin conflict shows how to do this safely without taking your live store offline.

Step 8: Check JavaScript, Caching and Minification

Variation dropdowns depend on JavaScript. When a script fails to load or runs in the wrong order, the form stops responding even though the HTML is there.

  1. Open the browser console. In Chrome, press F12, open the Console tab and reload the product page. Red errors, especially ones mentioning jQuery, point to a broken or blocked script.
  2. Purge every cache. Clear your caching plugin, your hosting cache and your CDN cache, then test in a private window.
  3. Pause minify, combine and defer options. Optimization settings that combine or delay JavaScript can break WooCommerce's variation script. Turn them off temporarily, test, then add exclusions for jQuery and WooCommerce scripts instead of disabling optimization everywhere.
  4. Exclude product pages from page caching if needed. Cart, checkout and account pages should never be cached, and some setups need extra care on variable products.

If your site is slow overall, aggressive optimization is often the reason it was turned on. Our guide to speeding up WordPress covers safer ways to improve performance without breaking store features.

Step 9: Clear Transients and Rebuild Lookup Tables

WooCommerce stores calculated data, such as variation price ranges, in temporary records called transients, and it keeps lookup tables to speed up product filtering. If these get out of date, you may see wrong price ranges or products missing from filters.

Go to WooCommerce > Status > Tools. Run the tool that clears WooCommerce transients, then look for the tools that regenerate the product lookup tables and run those as well. They can take a while on large catalogs, so run them during a quiet period.

Step 10: Read the Error Logs

If none of the above explains it, turn on logging so PHP errors are saved to a file instead of shown to visitors. Add these lines to wp-config.php, above the line that says to stop editing:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Reload the product page, then open wp-content/debug.log and look for fatal errors or warnings that mention WooCommerce, your theme or a specific plugin. Turn debugging off again when you are done, and do not leave the log file publicly accessible.

How to Stop It Happening Again

Once the product works, a few habits keep it that way.

  • Test variable products after every update. After a WooCommerce, theme or plugin update, open one variable product on the live site and select every option.
  • Use a staging site for changes. Test theme edits, new plugins and optimization settings there first.
  • Keep a short product checklist. Product type, attributes saved, every variation enabled with a price and stock status, then a test purchase.
  • Avoid editing parent theme files. Use a child theme so updates do not wipe your changes.
  • Watch your caching rules. Whenever you change optimization settings, retest the product page and cart as a logged-out visitor.

When to Hire a WooCommerce Developer

Most variation problems are fixed by the steps above. Some are not, and spending days on trial and error costs more than the repair. Consider bringing in a WooCommerce expert if:

  • You have checked every step and the problem remains
  • The issue appears only after a theme or WooCommerce update and the theme author is no longer supporting it
  • The product has hundreds of variations, or you need complex options such as custom pricing, bundles or conditional fields
  • You see JavaScript or PHP errors you do not feel comfortable editing around
  • Your store is losing sales every day the fix is delayed
Approach Pros Cons
Fix it yourself No direct cost, you learn how your store works Time-consuming, risk of breaking something else
Hire a WooCommerce developer for a one-off fix Fast diagnosis, fixed scope, minimal downtime You pay for the work, so choose someone with real store experience
Ongoing support plan Problems are caught early, updates are tested before going live Monthly cost, best for stores with steady revenue

A one-off diagnostic and fix on a variable product is usually a small job for an experienced developer, since the cause is typically a setting, a template or a conflict. For a realistic picture of what different jobs cost, read our guide on how much it costs to hire a WooCommerce developer. If budget is tight, hiring a WooCommerce developer on a budget explains how to get good work without overpaying.

Variation trouble also tends to appear alongside other store problems. If customers can pick options but then cannot complete a purchase, see what to do when WooCommerce checkout is not working.

Frequently Asked Questions

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

The most common reasons are that the product is not set to Variable product, the attributes are not marked "Used for variations," a variation has no price or is disabled, or a theme, plugin or caching setting is interfering. Work through the steps in this guide in order.

Why does a variation without a price disappear?

WooCommerce treats a variation without a price as not purchasable, so it hides it or shows an unavailable message. Add a regular price to every variation you want customers to buy.

What does "Sorry, no products matched your selection" mean?

It means the combination the customer chose does not exist as an available variation. Check for missing combinations, out-of-stock variations, and the variation limit if the product has more than 30 variations.

Can caching stop variation dropdowns from working?

Yes. Combined, minified or delayed JavaScript can break the script that powers the dropdowns, and a cached page can serve stale data. Purge all caches, pause optimization settings, and add exclusions for WooCommerce and jQuery scripts.

How many variations can a WooCommerce product have?

There is no strict cap, but WooCommerce handles up to 30 variations in the page by default and switches to AJAX loading above that. Very large numbers of variations can slow the product page, so plan the structure carefully.

Is it safe to edit WooCommerce settings and code myself?

Settings changes are generally safe if you take a backup first. For code changes, use a child theme or a snippets plugin, and test on a staging site. If you are unsure, it is cheaper to have a developer do it than to repair a broken store.

How much does it cost to hire someone to fix variable product problems?

It depends on the cause. A configuration or conflict fix is usually a short job, while a custom variation system or major theme repair costs more. Ask for a written scope and an estimate before work begins.

Need Your Variable Products Fixed?

If your variations are still not showing, or you would rather have an experienced WooCommerce developer sort it out quickly, send me the product URL and a short description of what you see and I will tell you what is wrong and what it will take to fix it.

Get Help With Your Store →

Tags: woocommerce variations not showing variable products woocommerce troubleshooting hire woocommerce developer woocommerce expert product variations fix
About the Author

Amanur Rahman

I'm a freelance WordPress & WooCommerce developer with 14+ years of experience and 240+ projects delivered for clients in the US, UK and Canada. I build custom plugins, fast WooCommerce stores and Elementor websites, and I'm a Top Rated Plus freelancer on Upwork.

Explore more: Services · Hire a WooCommerce Developer · Portfolio · Contact

Need Help with Your WordPress Project?

Let's discuss how I can help you build something amazing!

Get in Touch →
← Back to Blog