Warum der Papierkorb kein sicherer Ort ist, um Inhalte dort hin zu verschieben

Vor zwei Wochen habe ich den Blogbeitrag zum 16. Geburtstag meiner Arbeit mit und Bloggen über WordPress geschrieben. Man könnte also meinen, dass ich nach einer so langen Zeit alles in WordPress gesehen habe, vor allem all die „alten Sachen“. Aber ihr ahnt nicht, wie viel es da gibt!

Diese Woche habe ich ein Stück Code gefunden, das mich wirklich überrascht hat. Ich wollte das in einem Blogbeitrag behandeln, habe aber vergessen, es aufzuschreiben. Während ich versucht habe, diesen Code wiederzufinden, habe ich etwas noch Erstaunlicheres gefunden, das ich heute behandeln möchte.

Der Papierkorb als „sicherer Ort“

Wir alle machen das. Wenn wir mit einem Inhalt nicht zufrieden sind, verschieben wir ihn in den Papierkorb. Die meisten Desktop-Betriebssysteme haben auch einen Papierkorb. Bei mir sind gerade nur drei Dateien drin, die alle in den letzten zwei Wochen gelöscht wurden. Als ich noch Windows als tägliches Betriebssystem genutzt habe, konnte es gut und gerne auch Hunderte von Dateien sein, die manchmal mehrere GB Speicherplatz verschwendeten haben. Meisten war es auch sicher, einfach den Papierkorb zu leeren, aber in manchen Fällen hat man dann doch mal darin Dateien gefunden, die man eigentlich gar nicht löschen wollte. Es war also beruhigend zu wissen, dass der Papierkorb in Windows (und auch in vielen anderen Systemen) nicht automatisch gelöscht wird. Das ist in WordPress nicht der Fall! 😮

Dinge in WordPress in den Papierkorb legen

Es gibt zwei Dinge, die ihr in den Papierkorb legen können: Beiträge/Seiten (und andere Inhaltstypen) und Kommentare. Aber wusstest du auch, dass sie nach 30 Tagen gelöscht werden? Ich habe das nicht gewusst!

Die Konstante EMPTY_TRASH_DAYS

Bei der Suche nach dem Code für dieses andere Thema bin ich zufällig auf die Konstante EMPTY_TRASH_DAYS gestoßen. Sie hat einen Standardwert von 30. Das bedeutet, dass jeder Beitrag oder Kommentar, der vor mindestens 30 Tagen gelöscht wurde, automatisch 30 Tage später gelöscht wird. Dies geschieht durch das WP-Cron Event wp_scheduled_delete, das täglich ausgeführt wird.

Wenn ihr die Konstante auf 0 (oder einen anderen „falschen“ Wert) setzt, deaktivieren ihr damit den Papierkorb im Grunde vollständig. Alle „In Papierkorb legen“ Links im Backend werden zu „Endgültig löschen“ Links.

Sobald ihr einen Beitrag oder einen Kommentar in den Papierkorb legt, fügt WordPress zwei Meta-Daten hinzu. Der erste ist wp_trash_meta_time, ein Zeitstempel, wann der Eintrag in den Papierkorb gelegt. Der zweite ist _wp_trash_meta_status, der den vorherigen Status des Beitrags oder Kommentars speichert. Denn wenn sie sich im Papierkorb befinden, ist ihr Status trash und mit diesem Wert kann WordPress den vorherigen Status wiederherstellen, wenn ihr einen Eintrag aus dem Papierkorb wiederherstellt.

Fazit

Wenn ihr euren Papierkorb nutzen wollt, um Dinge vorübergehen „aus dem Blickfeld zu räumen“, sollten ihr euch darüber bewusst sein, dass sie nach 30 Tagen gelöscht werden. Wenn ihr diese Zeitspanne verlängern wollt, definieren einfach die Konstante EMPTY_TRASH_DAYS in eurer wp-config.php mit einem (viel) höheren Wert.

Habt diese Konstante schon gekannt, bevor ihr diesen Blogbeitrag gelesen habt? Falls ja, habt ihr sie jemals benutzt? Und wenn ja, habt ihr die Zeit verlängert oder verkürzt, oder habt ihr sie benutzt, um den Papierkorb komplett zu deaktivieren?

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert