plugin-icon

Creotec Content Expiration Manager

Add expiration dates and lifecycle actions to posts, pages, and public custom post types.
Évaluations
Version
1.0.0
Mis à jour récemment
Jun 3, 2026
Creotec Content Expiration Manager

Creotec Content Expiration Manager adds simple content lifecycle management to WordPress:

  • Add an expiration date/time to posts, pages, and public custom post types.
  • Choose what happens when content expires:
    • Change status to Draft
    • Make Private/Password Protect (unpublish)
    • Redirect to another URL (301 or 302)
    • Replace content with a custom « expired » message
    • Display an « Expired » banner at the top of the post
    • Move content to the bin/trash
  • Optional pre-expiration reminder email to the site admin address.
  • Reliable processing:
    • Runs on WP-Cron every 10 minutes
    • Includes a lightweight fallback check on normal WordPress requests (throttled)
  • Admin overview page:
    • Expiring Soon (next 30 days)
    • Already Expired
    • Bulk actions (extend date, disable expiration)
  • Reusable templates for redirect, banner, and replacement-content actions.
  • Per-post-type enabling/disabling under Settings > Post Expiration.
  • List-table indicator icons show which posts have expiration enabled.

No external services, no analytics, no licensing system.

Usage

  1. Edit any supported post type.
  2. In the « Expiration » box:
    • Check « Enable expiration ».
    • Set an « Expiration date & time » (site timezone).
    • Optionally choose a reminder email (1/3/7 days before).
    • Choose what happens when it expires.
  3. Update/publish the post.

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.

Restore original content (Replace action)

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.

Expiration processing & reliability

This plugin does not rely solely on WP-Cron.

  • Primary: WP-Cron runs every 10 minutes to process reminders and expirations.
  • Fallback: A lightweight check runs on WordPress requests (throttled via transient) to ensure expirations still trigger even if cron is delayed.

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 );

Hooks

  • creocem_post_expired – Fires after a post is processed as expired.
    • Parameters: (int) $post_id, (string) $action

License

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.

Credits

Developed and maintained by Michael Gbadebo @ Creotec Limited.

Gratuitsur les plans payants
En procédant à l’installation, vous acceptez les Conditions d’utilisation de WordPress.com ainsi que les Conditions de l’extension tierce.
Testé jusqu’à version
WordPress 7.0
Cette extension est disponible en téléchargement pour votre site .