More fixes

WooCommerce "Sorry, this product cannot be purchased"

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.

Product page

What the checks found


  

Check 1: open the product's Product data box

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.

Check 2: test logged out, then with plugins paused

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 each answer means

What you seeCauseFix
The Regular price field is emptyA product with no price cannot be bought. Imports and duplicated products often lose the priceEnter 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 createdIn 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 PrivateCustomers cannot buy a product that is not published, even with a direct linkSet the status to Published in the Publish box and update
Stock status says Out of stock, or the quantity is 0Out-of-stock products cannot be added to the cart unless backorders are allowedSet 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 breaksA scheduled sale ended or started with no regular price behind it, or WordPress's scheduled tasks did not runMake 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 roleA membership, wholesale, B2B or catalog-mode plugin blocks buying for some usersCheck 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 pausedThat 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 shownAn old copy of the product or cart from a cache, or out-of-date lookup tables after an importPurge 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

Check it worked

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.

What not to do

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.