Creotec Content Expiration Manager adds simple content lifecycle management to WordPress:
No external services, no analytics, no licensing system.
To manage expirations site-wide:
* Go to WP Admin > Expirations
* Use tabs:
* Expiring Soon (next 30 days)
* Already Expired
* Use bulk actions:
* Extend by 7 days
* Extend by 30 days
* Disable expiration
To choose which post types support expiration:
* Go to Settings > Expirations.
To create reusable expiration templates:
* Go to Settings > Expirations.
* Create templates for redirects, banners, or replacement content.
* When editing a post, choose a template in the relevant expiration action. Template edits are reflected anywhere that template is selected.
When the action is “Replace content with a message”, the plugin saves the original content when the expiration is processed.
After that, a “Restore original content” button appears in the Expiration meta box, allowing you to restore the saved content and disable expiration for that item.
This plugin does not rely solely on WP-Cron.
Notes about caching:
* Some full-page caches may serve pages without executing PHP. In those cases, expirations will still process when WordPress runs (admin requests, REST requests, cron, etc.).
* On expiration, the plugin triggers an action hook so caching plugins/site code can purge caches:
do_action( ‘creocem_post_expired’, $post_id, $action );
creocem_post_expired – Fires after a post is processed as expired.
This plugin is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This plugin is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Developed and maintained by Michael Gbadebo @ Creotec Limited.