描述
Content Expiry lets you set an expiration date on any post, page, or custom post type. When the date arrives, the plugin automatically changes the content’s status — no manual monitoring required.
Key features
- Set expiration date and time on any post or page (date/time picker included)
- Three built-in expiry actions: change to Draft, move to Trash, or make Private
- Works with any custom post type
- Configurable default action per site
- Admin list column shows expiration date at a glance
- Lightweight — no bloat, no external requests, no tracking
- WP-Cron based scheduling — reliable, no server cron required
PRO features (coming soon)
- Email notifications — get notified X days before expiry (admin, author, or custom email)
- Redirect action — 301 redirect expired content to any URL (SEO-friendly)
- Content replacement — keep the post published but swap the content with a “this offer has expired” message
- Expiry dashboard — see what expires in the next 7 / 30 days, filterable by post type
- Bulk expiry management — set expiration on multiple posts at once from the list screen
- Recurring expiry — auto-reschedule expiry after it triggers (great for seasonal content)
屏幕截图




安装
- Upload the
content-expiry-mdfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
- Go to Content Expiry in the WordPress admin menu to configure supported post types and the default action
- Edit any post or page and look for the Post Expiration meta box in the sidebar
常见问题
-
Does this work with custom post types?
-
Yes. Go to Settings Content Expiry and check the post types you want to enable expiry for.
-
What happens when a post expires?
-
Depending on the action you chose, the post is either changed to Draft, moved to Trash, or made Private. The change happens automatically in the background via WP-Cron.
-
Will this slow down my site?
-
No. The plugin uses WP-Cron and runs only when WordPress is already handling a request. There are no external API calls and no frontend JavaScript.
-
What if WP-Cron is disabled on my server?
-
You can use a real server cron to trigger
wp-cron.php. See the WordPress documentation on alternative cron setups. -
Is the plugin compatible with the block editor (Gutenberg)?
-
Yes. The expiry settings appear in the sidebar meta box, which works in both the classic and block editors.
-
Can I schedule the same post to expire multiple times?
-
Not in the free version — once a post expires and the action triggers, the expiration date is cleared. Recurring expiry is a PRO feature.
-
Where is my data stored?
-
The expiration date and action are stored as post meta (
_mdce_expiration_dateand_mdce_expiration_action). Plugin settings are stored inwp_optionsundermdce_settings. Nothing is sent off-site.
评价
此插件暂无评价。
贡献者及开发者
更新日志
1.1.0
- Added Freemius SDK integration for upgrade flow, license management, and account page.
- Added PRO upgrade prompt in the admin menu.
1.0.0
- Initial release.
- Date/time picker (Flatpickr) for expiration scheduling.
- Three built-in actions: Draft, Trash, Private.
- Admin list column with expiration date.
- Settings page: supported post types, default action.
- WP-Cron based scheduling.
- Nonce validation, capability checks, input sanitization, and output escaping throughout.
