Über dieses Plugin

IDF Post Expire ermöglicht es Redakteuren, Beiträgen ein Ablaufdatum mit Uhrzeit zuzuweisen. Ein stündlicher Cron-Job prüft alle veröffentlichten Beiträge und setzt diejenigen, deren Ablaufzeitpunkt überschritten ist, auf den Status „Abgelaufen“. Das Plugin unterstützt sowohl den Classic Editor als auch den Block Editor (Gutenberg).

Features

  • Ablaufdatum mit Uhrzeit: Datum und Uhrzeit werden als kombinierter Wert gespeichert, der korrekt verglichen wird.
  • Classic Editor Metabox: Ablaufdatum direkt in der Seitenleiste setzen, bearbeiten oder löschen.
  • Gutenberg Sidebar Panel: Natives Panel im Block Editor zum Setzen des Ablaufdatums.
  • Automatische Prüfung: Stündlicher WP-Cron-Job setzt abgelaufene Beiträge auf den Status „Abgelaufen“.
  • Konfigurierbare Post Types: In den Einstellungen festlegen, für welche Post Types die Ablaufsteuerung aktiv sein soll.
  • Custom Post Status: Abgelaufene Beiträge erhalten den Status „Abgelaufen“ und bleiben im Backend erhalten.
  • Erweiterbar: Hooks (idf/post_expire/before_expire, idf/post_expire/after_expire) für eigene Erweiterungen.
  • Voraussetzungen: WordPress 6.0+, PHP 8.0+.

Changelog

v2.2.1

Behoben

  • Der Dependency-Checker heisst jetzt IDF_POST_EXPIRE_Dependency_Checker. Der geteilte Klassenname IDF_Dependency_Checker, den fast alle IDF-Plugins mitbringen, wird nicht mehr angefasst. Die eigene Kopie stand hinter einem class_exists-Guard mit return, der unter OPcache nie laeuft: die Klasse landet vor der ersten Codezeile in der Klassentabelle. Sobald ein zweites IDF-Plugin dieselbe Klasse deklarierte, starb jeder Request mit "Cannot declare class IDF_Dependency_Checker" - auf k1.de hat das am 03.09.2026 zweimal die ganze Website lahmgelegt, weil die Aktivierung durchlief und der Fehler erst im Folge-Request entstand. Die Installationsreihenfolge der IDF-Plugins ist damit ohne Bedeutung.

v2.2.0

Geändert

  • Admin-Menü folgt der IDF-Menükonvention: Läuft IDF Home, hängt Post Expire als ein einzelner Eintrag darunter, sonst bleibt das eigene Top-Level-Menü mit Icon und Position wie bisher. Übersicht, Einstellungen, Hilfe und Uninstall sind jetzt Reiter statt vier Untermenüpunkte. Alle bisherigen URLs funktionieren unverändert.
  • Berechtigungsprüfung je Seite kommt aus der neuen seiten()-Methode, die auch die Reiterleiste versorgt. Reiter, für die die Berechtigung fehlt, werden nicht angezeigt.

Hinzugefügt

  • Release-Workflow (.gitea/workflows/release.yml). Das Plugin lief als letztes noch über den Legacy-Weg mit Versionsordner und ZIP-Ablage; ab dieser Version entsteht das Release wie bei allen anderen IDF-Plugins aus dem Git-Tag.
  • Berechtigungsprüfung auf allen vier Seiten. Bisher verließen sie sich allein darauf, dass WordPress den Menüpunkt ausblendet - was nach diesem Umbau für drei von ihnen nicht mehr zutrifft.

v2.1.0

Hinzugefügt

  • Master-Key-Anbindung: Dependency-Checker v1.5.1 + Update-Registrierung.

Geändert

  • Includes nach plugins_loaded:15 verschoben (Ladereihenfolge-Pflicht).
  • Activation-Hook lädt Dependencies inline.

v2.0.0

Hinzugefügt

  • Korrekter WordPress-Plugin-Header mit allen Pflichtfeldern.
  • Konstanten IDF_POST_EXPIRE_VERSION, IDF_POST_EXPIRE_PLUGIN_DIR, IDF_POST_EXPIRE_META_KEY.
  • Gutenberg Sidebar Panel für den Block-Editor.
  • Admin-Menü mit Übersicht, Einstellungen (konfigurierbare Post Types), Hilfe, Uninstall.
  • Hooks idf/post_expire/before_expire und idf/post_expire/after_expire.
  • Migration von v1.x-Meta-Feldern bei Aktivierung.

Geändert

  • Komplettes Refactoring auf IDF-Standard.
  • Alle Funktionen mit Prefix idf_post_expire_ versehen.
  • Datum und Uhrzeit werden als kombiniertes Datetime-Feld _idf_post_expire_datetime (Format Y-m-d H:i:s) gespeichert; Cron-Vergleich funktioniert damit korrekt.
  • Cron setzt Beiträge auf Custom Post Status expired (nicht mehr draft).
  • JavaScript in externe Dateien ausgelagert (assets/js/metabox.js, assets/js/gutenberg-sidebar.js).
  • Texte über __() / esc_html__() mit Text Domain idf-post-expire.
  • Saubere Dateistruktur gemäß Naming-Konventionen.

v1.0.0

Hinzugefügt

  • Erster Prototyp (einzelne Datei, ~166 Zeilen, nicht IDF-konform).

0 Comments

Info
  • Version: 2.2.1
  • Version vom: 3. September 2026
  • WordPress-Version: 6.4
  • Getestet bis WP-Version: 6.5
  • PHP-Version: 8.0
  • Kompatible Themes: Alle
  • Erforderliche Plugins: IDF Master-Key
  • Mitwirkende: Joerg Martin