An unavailable WooCommerce variation is not always a broken dropdown. The selected combination may not exist, may lack a price, or may be unavailable under its stock settings. Inspect the exact child variation before regenerating combinations or changing the theme.
Start with one combination
Write down the parent product ID, chosen attributes and expected child SKU. For example, test a blue medium shirt rather than the entire clothing catalogue. Compare it with one combination that works. A parent marked in stock does not explain every child's availability.
Open the product editor and verify that the product is variable. Check that the intended attributes are enabled for variations, then inspect the actual variation rows. An attribute dropdown containing Blue and Medium does not by itself prove that a Blue / Medium variation exists.
Inspect the child record
| Check |
What to record |
| Combination exists |
Child ID and exact attribute values |
| Price exists |
Saved regular or applicable sale price |
| Variation is enabled |
Its enabled state after saving |
| Stock policy permits purchase |
Quantity, stock status and backorder setting |
| Selection matches |
Attribute spelling and stored values |
Do not confuse a deliberately free price with an empty price field. Review the intended commercial value with the product owner before filling a missing price. Similarly, enabling backorders is a business decision, not a universal technical fix.
Child variation: ID and attributes match. Saved price: Intentional value present. Stock policy: Availability is correct. Cart item: Correct SKU and quantity. Explanatory checklist, not a customer test result.
Trace imports and recent edits
If the problem began after a CSV import, compare the affected parent and child IDs with the import file. Look for changed attribute values, missing parent relationships or a child updated as a simple product. Preserve the original import and its error report. Reimporting the whole catalogue without a mapping review can spread the problem.
For products with overlapping Any attribute values, test which child combination is selected and whether another child matches more specifically. Simplifying a staging copy of one product is safer than generating every possible combination across a large catalogue.
Move to frontend diagnosis only after the data is valid
Retest the saved product in a fresh browser session. If the child is configured correctly but the selector still fails, inspect the browser's failed requests and JavaScript errors. Test a default product presentation on staging to distinguish custom swatches from the underlying WooCommerce selection behavior.
If the selection works but takes too long, use the variable-product performance guide. Availability and response speed need separate evidence.
Close with a purchase-path test
Select the repaired combination, add it to the cart and confirm the displayed SKU, quantity and price. Change to the working control combination and repeat. Check that an intentionally unavailable combination remains unavailable.
Send the parent/child mapping and the failing selection to HandL WP's one-time fix service if the product data and frontend disagree. Do not send a customer database export.
References: variable products and missing variations.
References reviewed October 4, 2026. Examples are explanatory; production changes require an appropriate backup and authorized access.