WordPress plugin intelligence profile

Product Expiry for WooCommerce

Add expiry dates to WooCommerce products and variations, then auto set them out of stock, draft, or expired and email you when they expire.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version3.4
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.0 · PHP 7.2
Directory statusactive
Last directory update20 Aug 20262mo ago
Active installations1K+Adoption metric — not a quality score
WordPress.org rating4.5 / 5 from 13 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Product Expiry for WooCommerce version 3.4 as active, updated 2mo ago and tested up to WordPress 7.1.

Overview

About this plugin

Product Expiry for WooCommerce gives every product and variation in your store an expiry date. When that date passes, the plugin does the cleanup for you. It can move the product to draft, set it out of stock, reduce its stock, or keep it visible with an “Expired” badge and the add to cart button disabled.

You can also get an email the moment something expires.

No more forgotten sale items sitting live in your catalog. No more manually hunting for last season’s stock. You set the date once, and the plugin handles the rest on schedule.

It works for any store that sells things with a shelf life: food, cosmetics, and supplements, limited time offers and flash sales, seasonal lines, digital licenses and event tickets, rentals, and classified style listings.

What it does for you

Set an expiry date on any product or variation. You can also add a short note that shows instead of the date, like “Sold out for the season”. Expiry respects your site timezone and triggers at the end of the chosen day, scheduled individually per product so nothing fires early or late.

When a product expires, you choose what happens to it:

  • Leave it alone and just record that it expired
  • Move it to draft so it disappears from the store
  • Set it out of stock while keeping the page live
  • Reduce its stock by a set amount, handled through WooCommerce so HPOS and lookup tables stay in sync
  • Mark it as expired, which keeps the product visible, shows an “Expired” badge, and turns off add to cart

Show the expiry date where customers can see it

Turn the expiry date on or off for single product pages and shop and archive pages. You decide where it appears using a dropdown of common positions, or paste in a custom hook if your theme uses its own. You control the wording around the date with an {expiry_date} placeholder, set your own date format, and decide what shows after a product expires: keep the date, hide it, or swap in custom text.

The “Expired” badge is yours to style too. Change the label, pick the background color, and choose where it sits on single and archive pages. Variable products with no date of their own can roll up and display the soonest expiring variation on the parent.

There is also a simple shortcode, [expiry_date before="" after=""], for dropping the date anywhere.

Keep it in orders and emails

Show the expiry date inside order details for both you and your customer, and include it in WooCommerce order emails so the record travels with every purchase. You can also send yourself an email notification when a product expires, with custom recipients and your own subject and body using {product_name}, {expiry_date}, and {product_url} placeholders.

Manage everything from the products list

A sortable Expiry column shows dates right in the products table, with a per variation breakdown for variable products. Quick edit the date, note, and action without opening the product. Filter the list to find what needs attention: within 7 days, within 30 days, this month, next month, within 3 months, within 6 months, or already expired.

A Product Expiry Overview widget on your WordPress dashboard sums up what is already expired and what is expiring in the next 7 and 30 days, with one click through to the matching filtered list. There is also an Email Log of the last 30 days of plugin emails, showing recipient, subject, type, and whether each one sent or failed.

Built to fit your store

  • Works with any well coded WooCommerce theme, no template editing needed
  • Translation ready, with WPML and Polylang sync across translated products
  • Full RTL stylesheet
  • No external API calls on the frontend and no tracking
  • Clean uninstall with no leftover options or cron jobs

Pro version

Product Expiry Pro for WooCommerce runs on top of the free plugin and adds the features stores ask for most:

  • Exact expiry time in hours and minutes, not just the date, so you can expire a flash sale at 6:00 PM sharp
  • Live countdown timer on product pages, and optionally archives, in three styles (blocks, badge, or minimal) with an urgency threshold and optional seconds
  • Customer reminder emails that tell buyers when something they purchased is about to expire, sent as one branded email per order and deduped so nobody gets spammed
  • Admin reminder emails that summarize everything expiring in the next few days
  • Auto discount before expiry that puts products on sale a set number of days out, by percentage or fixed amount, and restores the original price automatically afterward
  • Batch and lot tracking with quantity, supplier, and lot number per batch, listed earliest expiry first, plus a recall lookup that finds orders containing a given batch
  • CSV bulk tools to export every product with its expiry data, edit in a spreadsheet, and re import to update thousands of products at once
  • Premium dashboard that monitors every expiring product with status and date range filters
  • Inline plugin updates from your WordPress admin

See everything in Pro

Useful Links

  • Documentation
  • Plugin details
  • Upgrade to Pro
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • expiration date
  • expiry date
  • product expiry
  • countdown
  • perishable
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.0 · PHP 7.2
Update activity20 Aug 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.