PublishPress Future: Automatically Unpublish Posts and Pages on a Future Date


Das Plugin „PublishPress Future“ ermöglicht es, ein Ablaufdatum zu Beiträgen, Seiten und anderen Inhaltstypen hinzuzufügen. Du kannst damit den Status von Beiträgen und Seiten automatisch ändern, sie löschen oder die Beitragskategorien ändern.

Here’s an overview of what you can do with PublishPress Future:

  • Wähle Ablaufdaten für die Inhalte in jedem Post-Type.
  • Wähle Ablaufdaten in der rechten Sidebar beim Bearbeiten der Beiträge.
  • Ändere, verschiebe oder lösche Inhalt, wenn das Ablaufdatum erreicht wird.
  • Ändere Ablaufdaten mit „Quick Edit“ und „Mehrfachaktionen“.
  • Erhalte E-Mails, wenn Dein Inhalt abläuft.
  • Zeige das Ablaufdatum im Inhalt, automatisch oder mit Shortcode.

This plugin was previously known as „Post Expirator“.

Optionen für den Ablauf von Beiträgen

Wenn Dein Beitrag abläuft, kannst Du diese Änderungen beim Inhalt ausführen:

  • Ändere den Status auf „Entwurf“
  • Lösche den Beitrag.
  • Ändere den Status auf „Papierkorb“.
  • Ändere den Status auf „Privat“.
  • Füge die Option „Sticky“ hinzu.
  • Entferne die Option „Sticky“.
  • Entferne alle Kategorien und füge neue Kategorien hinzu.
  • Behalte alle Kategorien und füge weitere Kategorien hinzu.
  • Behalte alle vorhandenen Kategorien, ausgenommen den in dieser Änderung festgelegten.

Klick hier für weitere Details über Ablaufdaten von Beiträgen.

Zeige das Ablaufdatum in Deinem Inhalt

„PublishPress Future“ ermöglicht es, das Ablaufdatum automatisch innerhalb von Beiträgen anzuzeigen. Das Ablaufdatum wird am Ende des Beitrages angezeigt

Klick hier um die Optionen zur Anzeige im Footer zu sehen.

Du kannst Shortcodes verwenden, um das Ablaufdatum innerhalb von Beiträgen anzuzeigen. Du kannst den Shortcode mit Hilfe einiger Optionen individuell anpassen.

Klick hier um die Shortcode Optionen zu sehen.

Standard-Ablaufwerte für Post-Types

„PublishPress Future“ unterstützt jeden Beitragstyp in WordPress. Gehe zu Einstellungen > PublishPress Future > Allgemeine Einstellungen um Standardeinstellungen für jeden Beitragstyp individuell festzulegen.

Klick hier um die Standardeinstellungen zu sehen.

PublishPress Future Email Notifications

Das Plugin „PublishPress Future“ kann E-Mail-Nachrichten senden, wenn ein Inhalt deaktiviert wird. Du kannst die E-Mails einrichten unter Einstellungen > Post Expirator > Allgemeine Einstellungen.

Klick hier um die Optionen für Benachrichtigungen zu sehen.

Details, wie Post Expirator funktioniert

For each expiration event, a custom cron job is scheduled. This can help reduce server overhead for busy sites. This plugin REQUIRES that WP-CRON is set up and functional on your webhost. Some hosts do not support this, so please check and confirm if you run into issues using the plugin.

Klick hier um die technischen Details des Plugins zu sehen.


  • Verfallsdatum zum Beitrag hinzufügen
  • Die Verfallsdaten auf der Beitragsübersicht ansehen.
  • Das Einstellungen-Fenster


In diesem Abschnitt wird beschrieben, wie du das Plugin installieren kannst und wie es arbeitet.

  1. Entpacke den Plugin-Inhalt in den /wp-content/plugins/post-expirator/-Ordner
  2. Aktiviere das Plugin mittels dem ‚Plugins‘-Menü in WordPress


6. Dezember 2021
20. Oktober 2021
If you edit an old post, the check is defaulted on for Expiration. Even if you disable Expiration, the article still states that the post is going to expire. I had to remove the plugin altogether.
12. Oktober 2021
This plugin works great. I use it for event postings. I set it to unpublish after the event is over and I don't have to go back in and deal with expired posts. Good job!!
6. Oktober 2021
Hi, Congratulations for this plugin. I've been using it for several years and I finally take the time to congratulate the team that developed it. This feature should be part of the core of WordPress. Thank you 1000 times
17. September 2021
Love it! Wished for the longest time that there was something like this and now I found it!
Alle 102 Rezensionen lesen

Mitwirkende & Entwickler

„PublishPress Future: Automatically Unpublish Posts and Pages on a Future Date“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:


„PublishPress Future: Automatically Unpublish Posts and Pages on a Future Date“ wurde in 14 Sprachen übersetzt. Danke an die Übersetzerinnen und Übersetzer für ihre Mitwirkung.

Übersetze „PublishPress Future: Automatically Unpublish Posts and Pages on a Future Date“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.


[2.7.0] – 02 Dec 2021

  • Changed: Rename the plugin from Post Expirator to PublishpPress Future, #14;
  • Changed: Add the PublishPress footer and branding, #68;
  • Changed: Separate the settings into different tabs, #97, #98;
  • Changed: Rename the „General Settings“ tab to „Default“, #99;
  • Added: Add new admin menu item: Future, #8;
  • Fixed: Fix the 1hr diff between expiration time when editing and shown in post list, #138;
  • Fixed: Post Expirator is adding wrong expiry dates to old posts, #160;
  • Fixed: Post Expirator is setting unwanted expire time for posts, #187;

[2.6.3] – 18 Nov 2021

  • Fixed: Fix the timezone applied to time fields, #134;
  • Fixed: Add the timezone string to the time fields, #134;
  • Fixed: Fix the selected expiring categories on the quick edit panel, #160;
  • Added: Add setting field for choosing between preserve or delete data when the plugin is deactivated, #137;
  • Fixed: Fix E_COMPILER_ERROR when cleaning up the debug table, #183;
  • Fixed: Fix translation and localization of date and time, #150;

[2.6.2] – 04 Nov 2021

  • Fixed: Fix fatal error: Call to a member function add_cap() on null, #167;
  • Fixed: Fix hierarchical taxonomy selection error for multiple taxonomies, #144;
  • Fixed: Fix PHP warning: use of undefined constant – assumed ‚expireType‘, #617;
  • Fixed: Fix translation of strings in the block editor panel, #163;
  • Fixed: Fix category not being added or removed when the post expires, #170;
  • Fixed: Fix PHP notice: Undefined variable: merged, #174;
  • Fixed: Fix category-based expiration for custom post types in classic editor, #179;
  • Fixed: Fix expiration date being added to old posts when edited, #168;

[2.6.1] – 27 Oct 2021

  • Fixed: Fix category replace not saving, #159;
  • Fixed: Fix auto enabled settings, #158;
  • Fixed: Fix expiration data and cron on Gutenberg style box, #156, #136;
  • Fixed: Fix the request that loads categories in the Gutenberg style panel, #133;
  • Fixed: Fix the category replace not working with the new Gutenberg style panel, #127;
  • Fixed: Fix the default options for the Gutenberg style panel, #145;
  • Added: Add post information to the scheduled list for easier debugging, #164;
  • Added: Add a review request after a specific period of usage, #103;
  • Added: Improve the list of cron tasks, filtering only the tasks related to the plugin, #153;

[2.6.0] – 04 Oct 2021

  • Added: Add specific capabilities for expiring posts, #141;

[2.5.1] – 27 Sep 2021

  • Fixed: Default Expiration Categories cannot be unset, #94;
  • Fixed: Tidy up design for Classic Editor version, #83;
  • Fixed: All posts now carry the default expiration, #115;
  • Fixed: Error with 2.5.0 and WordPress 5.8.1, #110;
  • Fixed: Do not show private post types that don’t have an admin UI, #116;

[2.5.0] – 08 Aug 2021

  • Fixed: Appearance Widgets screen shows PHP Notice, #92;
  • Fixed: Stop the PublishPress Future box from appearing in non-public post types, #78;
  • Added: Add „How to Expire“ to Quick Edit, #62;
  • Changed: Settings UI enhancement, #14;
  • Fixed: Hide metabox from Media Library files, #56;
  • Added: Support for Gutenberg block editor, #10;
  • Added: Set a default time per post type, #12;

[2.4.4] – 22 Jul 2021

  • Fixed: Fix conflict with the plugin WCFM, #60;
  • Fixed: Fix the Category: Remove option, #61;

[2.4.3] – 07 Jul 2021

  • Added: Expose wrappers for legacy functions, #40;
  • Added: Support for quotes in Default expiry, #43;
  • Fixed: Default expiry duration is broken for future years, #39;
  • Fixed: Translation bug, #5;
  • Fixed: Post expiring one year early, #24;
  • Changed: Bulk and Quick Edit boxes default to current date/year, #46;


  • Fixed: Bulk edit does not change scheduled event bug, #29;
  • Fixed: Date not being translated in shortcode, #16;
  • Fixed: Bulk Edit doesn’t work, #4;


  • Fix: Updated deprecated .live jQuery reference.


  • Fix: Fixed PHP Error with PHP 7.


  • Fix: Fixed PHP Error that snuck in on some installations.


  • New: Email notification upon post expiration. A global email can be set, blog admins can be selected and/or specific users based on post type can be notified.
  • New: Expiration Option Added – Stick/Unstick post is now available.
  • New: Expiration Option Added – Trash post is now available.
  • New: Added custom actions that can be hooked into when expiration events are scheduled / unscheduled.
  • Fix: Minor HTML Code Issues


  • Fix: Quick Edit did not retain the expire type setting, and defaulted back to „Draft“. This has been resolved.


  • Fix: Fixed issue with bulk edit not correctly updating the expiration date.


  • New: Quick Edit – setting expiration date and toggling post expiration status can now be done via quick edit.
  • New: Bulk Edit – changing expiration date on posts that already are configured can now be done via bulk edit.
  • New: Added ability to order by Expiration Date in dashboard.
  • New: Adjusted formatting on defaults page. Multiple post types are now displayed cleaner.
  • Fix: Minor Code Cleanup


  • Fix: PHP Strict errors with 5.4+
  • Fix: Removed temporary timezone conversion – now using core functions again


  • Fix: Default category selection now saves correctly on default settings screen


  • Security: Added form nonce for protect agaisnt possible CSRF
  • Security: Fixed XSS issue on settings pages
  • New: Added check to show if WP_CRON is enabled on diagnostics page
  • Fix: Minor Code Cleanup


  • New: Added the option to disable post expirator for certain post types if desired
  • Fix: Fixed php warning issue cause when post type defaults are not set


  • New: Added support for heirarchical custom taxonomy
  • New: Enhanced custom post type support
  • Fix: Updated debug function to be friendly for scripted calls
  • Fix: Change to only show public custom post types on defaults screen
  • Fix: Removed category expiration options for ‚pages‘, which is currently unsupported
  • Fix: Some date calls were getting „double“ converted for the timezone pending how other plugins handled date – this issue should now be resolved


  • Removes old scheduled hook – this was not done completely in the 2.0.0 upgrade
  • Old option cleanup


This is a major update of the core functions of this plugin. All current plugins and settings should be upgraded to the new formats and work as expected. Any posts currently schedule to be expirated in the future will be automatically upgraded to the new format.

  • New: Improved debug calls and logging
  • New: Added the ability to expire to a „private“ post
  • New: Added the ability to expire by adding or removing categories. The old way of doing things is now known as replacing categories
  • New: Revamped the expiration process – the plugin no longer runs on an minute, hourly, or other schedule. Each expiration event schedules a unique event to run, conserving system resources and making things more efficient
  • New: The type of expiration event can be selected for each post, directly from the post editing screen
  • New: Ability to set defaults for each post type (including custom posts)
  • New: Renamed expiration-date meta value to _expiration-date
  • New: Revamped timezone handling to be more correct with WordPress standards and fix conflicts with other plugins
  • New: ‚Expires‘ column on post display table now uses the default date/time formats set for the blog
  • Fix: Removed kses filter calls when then schedule task runs that was causing code entered as unfiltered_html to be removed
  • Fix: Updated some calls of date to now use date_i18n
  • Fix: Most (if not all) php error/warnings should be addressed
  • Fix: Updated wpdb calls in the debug class to use wpdb_prepare correctly
  • Fix: Changed menu capability option from „edit_plugin“ to „manage_options“


  • Added the ability to configure the post expirator to be enabled by default for all new posts
  • Changed some instances of mktime to time
  • Fixed missing global call for MS installs


  • Tweaked error messages, removed clicks for reset cron event
  • Switched cron schedule functions to use „current_time(‚timestamp‘)“
  • Cleaned up default values code
  • Added option to allow user to select any cron schedule (minute, hourly, twicedaily, daily) – including other defined schedules
  • Added option to set default expiration duration – options are none, custom, or publish time
  • Code cleanup – php notice


  • Fixed invalid html
  • Fixed i18n issues with dates
  • Fixed problem when using „Network Activate“ – reworked plugin activation process
  • Replaced „Upgrade“ tab with new „Diagnostics“ tab
  • Reworked expire logic to limit the number of sql queries needed
  • Added debugging
  • Various code cleanup


  • Cleaned up deprecated function calls


  • Fixed bug with sql expiration query (props to Robert & John)


  • Fixed bug with shortcode that was displaying the expiration date in the incorrect timezone
  • Fixed typo on settings page with incorrect shortcode name


  • Fixed bug that was not allow custom post types to work


  • Moved Expirator Box to Sidebar and cleaned up meta code
  • Added ability to expire post to category


  • Fixed issue with 3.0 multisite detection


  • Added post expirator POT to /languages folder
  • Fixed issue with plugin admin navigation
  • Fixed timezone issue on plugin options screen


  • Added support for custom post types (Thanks Thierry)
  • Added i18n support (Thanks Thierry)
  • Fixed issue where expiration date was not shown in the correct timezone in the footer
  • Fixed issue where on some systems the expiration did not happen when scheduled


Achtung: Nach dem Updaten kann es nötig werden die Cron-Zeitpläne zurückzusetzen. Geplante Beiträge werden nicht upgedatet, sie werden gemäß der alten Zeitzoneneinstellung gelöscht. Wenn du sie updaten willst, musst die Verfallszeit manuell anpassen.

  • Fixed compatability issues with WordPress – plugin was originally coded for WPMU – should now work on both
  • Added ability to schedule post expiration by minute
  • Fixed timezone – now uses the same timezone as configured by the blog


  • Fixed sporadic issue of expired posts not being removed


  • Expiration date is now retained across all post status changes
  • Modified date/time format options for shortcode postexpirator tag
  • Added the ability to add text automatically to the post footer if expiration date is set


  • Fixed issue with display date format not being recognized after upgrade


  • Changed wording from „Expiration Date“ to „Post Expirator“ and moved the configuration options to the „Settings“ tab.
  • Added shortcode tag [postexpirator] to display the post expiration date within the post
    ** Added new setting for the default format
  • Fixed bug where expiration date was removed when a post was auto saved


  • Expired posts retain expiration date


  • Erste Version