A customer clicks Add to cart and gets "Sorry, this product cannot be purchased", or the product page shows a price but no Add to cart button at all, or a variable product says "Sorry, this product is unavailable. Please choose a different combination." WooCommerce shows these when it decides the product is not purchasable: it has no price, it is not published, it is out of stock, the chosen variation has no price, or a plugin says no. Below is a rebuilt example (not a real client), the two checks that find the cause, and the fix for each one.
Edit the product and look at the Product data box. On the General tab, is there a Regular price? An empty price is the most common cause: WooCommerce treats a product with no price as not for sale. If a Sale price has schedule dates, check the dates are right. On the Inventory tab, check the stock status and, if stock is managed, the quantity. In the Publish box, the status should be Published. For a variable product, open the Variations tab and expand each variation: every one needs its own price, and each one must be ticked as Enabled.
In a private window, logged out, open the product and try to add it to the cart. If it works for you as an admin but not for customers, a plugin limits who may buy (membership, wholesale, B2B, "catalog mode" or "hide price" plugins). If it fails for everyone, use the Health Check plugin's troubleshooting mode, which pauses plugins for you only, and turn them back on one at a time until the message returns.
| What you see | Cause | Fix |
|---|---|---|
| The Regular price field is empty | A product with no price cannot be bought. Imports and duplicated products often lose the price | Enter a Regular price and update. For many products, use Bulk actions > Edit in All Products, or fix the price column in the import file and re-run it with "update existing products" ticked |
| A variable product says "this product is unavailable, please choose a different combination" | That variation has no price, is not enabled, is out of stock, or the combination was never created | In the Variations tab, give every variation a price and tick Enabled. Use "Set regular prices" from the bulk menu for all at once, or "Create variations from all attributes" if a combination is missing |
| The product is Draft, Pending or Private | Customers cannot buy a product that is not published, even with a direct link | Set the status to Published in the Publish box and update |
| Stock status says Out of stock, or the quantity is 0 | Out-of-stock products cannot be added to the cart unless backorders are allowed | Set the right quantity on the Inventory tab, or set "Allow backorders" to "Allow, but notify customer" |
| The sale price works for some days and then the product breaks | A scheduled sale ended or started with no regular price behind it, or WordPress's scheduled tasks did not run | Make sure the Regular price is filled in, fix the schedule dates, then save the product again. If schedules keep failing, see missed schedule |
| Works for admins, fails for logged-out customers or one customer role | A membership, wholesale, B2B or catalog-mode plugin blocks buying for some users | Check that plugin's rules for this product or category and the user roles allowed to buy |
| Fails for everyone and stops when one plugin is paused | That plugin (or theme code) filters the product to "not purchasable" | Update that plugin, then check its settings; if it still blocks, ask its support or replace it. Code in the theme's functions.php using woocommerce_is_purchasable does the same and should be checked |
| Everything above looks right but the message is still shown | An old copy of the product or cart from a cache, or out-of-date lookup tables after an import | Purge every cache, then run "Regenerate the product lookup tables" and "Clear transients" in WooCommerce > Status > Tools. See Add to cart not working for button problems |
In a private window, logged out, open the product, choose each option if it is a variable product, add it to the cart and go as far as the checkout page. Do the same for one other product from the same import or category, since the same cause usually affects them all.
Most of these take a few minutes once you know which one it is. If you would rather someone else finds and fixes it, that is what the box below is for. Related: WooCommerce products not showing and WooCommerce checkout not working.