WooCommerce 11 landed this week. Buried in Settings -> Advanced -> Features, behind the “experimental” label, are three things my clients have been asking for… and a curious addition regarding variable products:
- Abandoned Checkout Recovery
- Wishlists
- Save for Later (basket/cart)
- Variation Gallery
I’ve had a look through the code rather than the release notes, because the source tells you what a feature actually does. Here’s what each one can and can’t do today, and why that matters.

Abandoned checkout recovery
In short, the name of this one is misleading. It catches orders sitting in pending status that were created but never paid. It doesn’t catch the broader “abandoned cart” problem — someone filling a basket, browsing for ten minutes, and closing the tab. If they never hit “Place order”, no order was created, and nothing fires.
The feature hooks into new orders and sends a reminder email two hours later. If the customer pays, the email stops. If they don’t, it sends once and stops. There’s no follow-up sequence, no discount escalation, no signed URLs with expiry. The recovery link is just the standard order-pay page, which lives forever.
Note: if you’re running the block checkout, orders park in checkout-draft instead of pending. The automated email doesn’t apply to those yet. Manual sending from the order edit screen does.
The reality: This is a 60% solution. If you want proper abandoned cart recovery, you still need AutomateWoo, Cartflows or some other abandoned cart solution. WooCommerce knows this and politely turns itself off if it finds those plugins installed.
Save for Later
A “Save for later” list on the cart page. Move an item out of the cart, keep it for another day, move it back. Potentially genuinely useful… maybe..?
Two hard constraints. It’s cart block only — if your store uses the woocommerce_cart shortcode, this feature doesn’t exist for you. And it’s only available to logged-in users. Guests see nothing. Not a “sign in to save these” prompt. Nothing.
Every interaction is an authenticated request back to PHP with Cache-Control: no-store. It can’t be page-cached. On a shared hosting plan with four PHP workers, that’s meaningful capacity spent on shoppers organising their shortlist rather than buying things.
The reality: Useful for stores where customers have accounts. For the average small shop where 90% of traffic is anonymous, this does nothing for most visitors.
Wishlists
This has the same internal plumbing as Save for Later. Logged-in users only. The Add to Wishlist button only appears on the block-based single product template. Classic themes, classic single-product.php, anything using the old hooks: no button. Your customers can have an empty wishlist they have no way to fill.
One nice thing: the button is variation-aware. It saves the specific variant the shopper configured, not just the parent product.
The reality: Another 60% solution. No named lists, no sharing, no public URLs, no back-in-stock notifications. Those are what the established wishlist plugins sell.
Variation gallery
This one’s a bit of an odd-ball – it’s an absorption. The Additional Variation Images extension has been folded into core. Enable the feature and WooCommerce deactivates the plugin for you and migrates the data automatically.
The interesting bit is how it turns on. It’s not a simple flag. WooCommerce assigns every store a random bucket (1–120) at install time, and the feature is on by default for buckets 1–6. That’s 5% of stores getting new behaviour switched on by an upgrade, with no merchant action and no prompt. If you had the extension installed, the upgrade deactivates it and starts rewriting variation meta.
There’s a performance hit too. With the feature on, WooCommerce renders gallery markup for every variation and packs it into the page source. On a product with sixty variations carrying five images each, that’s fully rendered markup for three hundred images before the shopper touches a dropdown! Fine for a t-shirt shop. Not fine for a configurator-style catalogue.
The reality: This is the template for how WooCommerce will absorb plugins going forward. Own the extension, merge it as a package, auto-deactivate the plugin, migrate the data, roll it out silently to a cohort. That machinery now exists and is proven.
What this means
Four features, four established plugin categories. Abandoned cart recovery, wishlists, save for later, variation images: there are dozens of plugins in each, some excellent, some bloated, all of them now competing with a free option that ships in the box.
The code is careful and well-written. The abandoned cart feature politely stands down when it finds AutomateWoo installed. But intent isn’t the point. The effect is that the bottom falls out of the market beneath it. The plugins that survive are the ones doing the 40% WooCommerce won’t touch. The ones that die are the small, simple, single-purpose ones, which are often the lean, well-written ones. The bloated all-in-one suites survive longest because bundling is a moat. That’s an ecosystem getting worse, not better.
None of this makes WooCommerce leaner or more efficient. It’s already over 4,000 PHP files and 74MB on disk, and every file ships to every store whether the flags are on or off.
My advice: leave all four switched off for now. If you want abandoned checkout recovery, buy a plugin that does it properly. If you want wishlists and your customers don’t have accounts, this isn’t a wishlist. And if you’re one of the 5% who got the variation gallery switched on without being asked, be aware that you can switch it off again yourself.
