The WPFolks app is out on iPhone and Android. Free, no ads. Download on the App Store Get it on Google Play
Skip to main content
Login Join
Free WooCommerce

Flash Sale Stock Guard for WooCommerce

Flash Sale Stock Guard for WooCommerce banner
Last updated
3 weeks ago
Version
1.0.0
Tested up to
WP 7.1.4

About this plugin

Overselling isn’t just a flash-sale problem. Any product with more people watching it than units left — a restock, a handmade batch, a limited print run, a popular size running low — can sell the same last unit to two customers within seconds of each other. Flash Sale Stock Guard for WooCommerce closes that window for good: the instant a guarded product is added to cart, its stock is held against that shopper, so nobody else can check out with units that are already spoken for. If they don’t complete checkout in time, the hold expires automatically and the stock goes back into circulation — no manual cleanup, no oversold orders to refund and apologize for.

It’s named for the moment it matters most, but it runs every day, on every guarded product — quietly protecting stock whether or not a sale is even happening.

Stock holds like this are usually locked behind premium inventory or checkout add-ons. Here, that protection is built in and free from the moment you activate the plugin — no upsell, no “Pro” version required for concurrency-safe locking, per-variation targeting, order-status-aware release, or the developer filters below.

How it works

  • Hold on add-to-cart. Adding a guarded item reserves that quantity immediately, before checkout even starts.
  • Race-condition safe. When two shoppers fight over the last unit at the same instant, a database-level lock scoped to that exact product decides it — not a stock check that was already stale by the time it ran.
  • Automatic expiry. Holds release themselves after a duration you set (1 minute to 24 hours) — long enough to check out, short enough that an abandoned cart doesn’t sit on your inventory.
  • A clear hand-off when a hold expires. When the countdown reaches zero the released item is removed from the shopper’s cart and a short pop-up explains that the reservation lapsed, with a button back to the shop — the pattern ticketing and limited-drop sites use, instead of leaving a stale cart behind.
  • Order-aware. A completed order converts the hold so it stops expiring; a cancelled, failed, or refunded order releases it back to stock.

Choose what gets guarded

  • Every stock-managed product — a store-wide safety net.
  • Only products at or below a low-stock threshold you set (the default) — guard scarce items automatically without a manual checklist before every drop.
  • Only products you mark individually — a checkbox right on the product’s Inventory tab, with its own checkbox per variation, so one variation of a size or color can be protected without guarding the whole product.
  • Per-item checkboxes always guard that item, no matter what the store-wide mode says — a manual override on top of the automatic rule, not instead of it.

Built for how customers actually shop

  • Works on both the classic shortcode-based Cart/Checkout and the block-based Cart/Checkout — no separate setup for either.
  • An optional live countdown on the cart and checkout pages tells shoppers exactly how long their hold is good for. When it reaches zero it becomes a pop-up — background, text, and button colours and text size all set from the settings screen — that sends them back to the shop to start again.
  • Turn the countdown off entirely and the stock protection still runs invisibly in the background.

For developers

  • fssgw_hold_ttl filter — vary hold duration per product or globally.
  • fssgw_is_product_guarded filter — decide guarding programmatically, by category, campaign, or anything the settings screen doesn’t cover.
  • fssgw_release_statuses filter — control which order statuses release a converted hold.
  • fssgw_providers filter — register additional service providers without touching plugin files.
  • fssgw_holds_expired action — fires after each cron expiry sweep, for logging or metrics.
  • WP-CLI: wp fssgw status.

See the plugin’s GitHub README for parameters and code examples for each hook.

Screenshots

Analytics

Live from WordPress.org, refreshed daily. Last refresh Nov 6, 2026.

  • Passes every health check below.
3/3

Health checks

Everything a careful site owner looks at before installing.

  • Actively maintained Last release 3 weeks ago
  • Tested with current WordPress Tested up to 7.1.4
  • Support questions answered Nothing open in the last two months
  • Well rated No ratings yet
Active installs
Fewer than 10 WordPress.org rounds this down
This week
20 downloads −4.8% vs the week before
Last 30 days
100 downloads 3 a day, typically
All time
254 downloads On WordPress.org since 2026
Downloads per week Every update counts as a download on WordPress.org, so release weeks spike.
Latest week
20
Typical week
22
Peak
48 Week of Sep 4
View as table
WeekDownloads
Week of Oct 3020
Week of Oct 2321
Week of Oct 1632
Week of Oct 924
Week of Oct 218
Week of Sep 2522
Week of Sep 1815
Week of Sep 1124
Week of Sep 448
Where it stands Rank among the plugins WPFolks tracks every day.

Not ranked yet. Install, download and rating ranks cover the 5,000 most popular plugins on WordPress.org, and Trending needs about 100 downloads on a typical day.

Active installs over time Recorded by WPFolks every day since Oct 14, 2026.

Reviews

From folks on WPFolks

No reviews from folks yet. Used it? Be the first to say how it went.

Log in to leave a review

Proudly supported by