Guide
Pre-order one variation in WooCommerce, keep the rest in stock
You have a hoodie in five sizes. Four are on the shelf, and XL comes in with the next batch. You want people to keep buying the four sizes normally, and to pre-order the XL with a clear ship date. Here's how.
Why not just use backorders?
WooCommerce's "allow backorders" setting lets people buy a variation with no stock, but it doesn't tell them when it ships, and it never stops. There's no cutoff, so you keep taking orders for a batch you may have already placed with your supplier. And the product page just says "available on backorder", which doesn't give the customer much to go on.
A pre-order on the variation fixes both: the customer sees the ship date, and orders stop on the day you choose.
Set it up
This uses Bitnary Preorder Dates for WooCommerce, a free plugin I built for this. Install it from Plugins, Add New first.
- Edit the variable product and open the Variations tab.
- Expand the variation you want to pre-order, for example the XL.
- Tick Enable pre-order for this variation.
- Set Orders close (cutoff) and Release / ships on.
- Click Save changes, then Update.
Every other variation stays exactly as it was. You can put several variations on pre-order with different dates, for example one color shipping next week and another next month.
What the customer sees
When the customer picks the XL, the add-to-cart button changes to "Pre-order" and the pre-order label with the ship date appears. When they switch back to a size in stock, it goes back to "Add to cart". In the shop listing, the product shows the label of whichever variation is open for pre-order and ships soonest.
The ship date goes with the item into the cart, checkout, the order and WooCommerce's order emails.
On the cutoff and release dates
After the cutoff, only that variation stops being purchasable and shows the "Pre-orders closed" message. After the release date, pre-order on that variation turns itself off, and it goes back to your normal stock settings. The other variations never change. For the full picture of how the two dates work, see WooCommerce pre-orders with a cutoff date and a release date.
One thing to plan for
A customer can put the pre-order XL and an in-stock M in the same cart. The free plugin shows the ship date on the XL line, but it doesn't stop the mixed cart or split it into two orders. If that matters for how you ship, decide up front whether you'll hold the whole order or send the in-stock items first.
The plugin is free on WordPress.org, and per-variation pre-orders are in the free version.
Get it on WordPress.org