Troubleshooting
Common issues
Expiration dates not showing on product pages
Check display settings — Go to Products → Expirations → Settings → General and confirm that frontend display is enabled. If display is enabled but dates still do not appear, your theme may be overriding the product template hooks.
Check the display threshold — If you have set a display threshold, the date will only appear when the product expires within that many days. Set the threshold to 0 to always show expiration dates.
Check the product — Open the product in the editor and verify that an expiration date is actually set. For variable products, check each variation individually.
Check theme compatibility — The plugin renders the date through your theme’s standard WooCommerce hooks, with a fallback near the add-to-cart form for customized themes. If your theme or page builder uses a fully bespoke product template and the date still doesn’t appear, place the [edfw_expiration_date] shortcode where you want it — it suppresses the automatic placement so the date never appears twice. To confirm an issue is theme-related, switch temporarily to a default theme (like Storefront).
Clear caches — Page caching (WP Rocket, LiteSpeed, host-level caches) can serve product pages rendered before you enabled the display. Clear the cache after changing display settings.
Expiry actions not triggering
Know which action is delayed — The hide action is applied immediately via catalog query filters, so an expired product should disappear from shop pages right away — no cron involved. Only the out-of-stock action is applied by the hourly background sweep (the edfw_check_expired_products cron task), so a stock-status change can lag up to an hour. Cart and checkout protection is also immediate, so an expired product cannot be purchased even before the sweep runs.
Check WordPress cron (out-of-stock action only) — The hourly out-of-stock sweep relies on WordPress cron (wp-cron). Some hosting environments disable or throttle wp-cron. If your host does not support wp-cron, set up a real server cron job to call wp-cron.php at regular intervals (every minute is recommended).
Expired product still visible despite the hide action — Since hiding does not depend on cron, a product that still appears is usually being served from a cache. Clear any page or object cache, and check for a plugin or theme that overrides the catalog query.
Check the days-before setting — If you have configured actions to trigger several days before expiration, the action may not have fired yet. Verify the setting under Products → Expirations → Settings → General.
Stock mismatch with batch tracking
When using batch tracking (Pro), the total WooCommerce stock should match the sum of all batch quantities. If you notice a discrepancy:
- Avoid editing WooCommerce stock directly — Always manage quantities through the batch interface to keep them in sync.
- Check for manual edits — If someone edited the stock field directly (via quick edit, bulk edit, or the product editor), the batch totals may be out of sync. Update the batch quantities to match the correct total.
- Check order processing — Ensure orders are being processed normally. Stock deductions happen at the time the order is placed, following FEFO order.
Dates displaying in the wrong format
The plugin uses your browser’s native date picker for entering dates. The display format on the frontend follows your WordPress date format setting (Settings → General → Date Format). If dates are displaying in an unexpected format, update your WordPress date format setting.
System info
The plugin includes a system info panel to help diagnose issues:
- Go to Products → Expirations → Settings → System Info.
- This displays your WordPress version, WooCommerce version, plugin version, PHP version, and active theme — all helpful when reporting issues.
Copy this information when contacting support.
Getting help
If you cannot resolve an issue using the steps above:
- Gather your system info from Products → Expirations → Settings → System Info.
- Note the specific steps to reproduce the problem.
- Visit sellinor.dev/support to contact the support team.
Include as much detail as possible — screenshots, error messages, and the steps you have already tried — to help resolve your issue quickly.