So archivieren Sie WordPress-Beiträge und -Seiten
Was machen Sie mit veröffentlichten WordPress-Inhalten, die Sie aus der öffentlichen Ansicht entfernen möchten, aber nicht in den Papierkorb werfen möchten?
Sie archivieren es. Einfach. Nun, nein. Funktionalität, die wohl entweder eingebaut oder definitiv einfach zu implementieren sein sollte, ist eigentlich unnötig schwierig. Es hilft auch nicht, dass WordPress das Wasser trübt, indem es den Archivbegriff für ältere Beiträge verwendet.
In diesem Artikel zeige ich Ihnen, wie Sie Inhalte mit dem Edit Flow-Plugin archivieren können, um das schwere Heben zu erledigen.
Hinweis: Der in diesem Artikel beschriebene Ansatz gilt für Beiträge, Seiten und benutzerdefinierte Beitragstypen. Ich habe den Begriff „Post“ einfach der Einfachheit halber verwendet.
Um die Archivierung bereitzustellen, müssen wir am Ende des Veröffentlichungsprozesses einen weiteren Schritt hinzufügen, eine Option nach „veröffentlicht“, indem wir einen neuen Post-Status von „archiviert“ hinzufügen. Das Archivieren von Beiträgen besteht dann darin, den Beitragstatus einfach auf den neuen Status zu ändern und sicherzustellen, dass der archivierte Beitrag nirgendwo auf der Website angezeigt wird, auch nicht in Suchergebnissen und Menüs.
WordPress hat acht integrierte Post-Status und das Hinzufügen zur Liste ist sehr einfach. Einfache Aufgaben wie das Hinzufügen des neuen Status zum Dropdown-Menü Poststatus im Feld Meta veröffentlichen auf dem Bildschirm Post Edit sind jedoch frustrierend schwierig. Da in WordPress selbst kein hilfreicher Filter oder keine hilfreiche Aktion verfügbar ist, verwendet die häufigste Lösung jQuery-unterstützte HTML-Akrobatik, um neue Status in die Benutzeroberfläche im Browser zu erzwingen. Nicht gerade Entwicklung Best Practice.
Glücklicherweise kann uns das Plugin Edit Flow dabei helfen, den Veröffentlichungsworkflow zu erweitern und gleichzeitig clientseitiges HTML-Gerangel zu vermeiden.
Installieren Sie das Edit Flow Plugin
Edit Flow bietet viele großartige Funktionen zum Verwalten von Posts in einer Teamumgebung. Wir werden hier nicht darauf eingehen, aber ich würde empfehlen, Paul Kaisers Rezension von Edit Flow hier auf WPMU zu lesen.Organisierungstafel.
Unbenutzte Module ausschalten
Im Moment müssen wir nur das benutzerdefinierte Statusmodul von Edit Flow aktiviert haben.
Konfigurieren Sie die Status
Klicken Sie auf Benutzerdefinierte Status und,
- Machen Sie den Entwurfsstatus zum Standardstatus, indem Sie mit der Maus über „Entwurf“ fahren und auf die Menüoption „Standard erstellen“ klicken.
- Löschen Sie alle Status außer Entwurf (fahren Sie erneut mit der Maus über den Status und klicken Sie auf die Menüoption Löschen).
- Verwenden Sie das Formular „Neu hinzufügen“, um einen neuen benutzerdefinierten Status von „Archiviert“ hinzuzufügen. Klicken Sie auf die Registerkarte „Optionen“ und wählen Sie die Beitragstypen aus, die Sie archivieren möchten.
Im Feld Meta veröffentlichen auf dem Bildschirm Beitrag bearbeiten werden nun im Dropdown-Menü Status die benutzerdefinierten Status einschließlich des neuen archivierten Status angezeigt.
Um einen Beitrag zu archivieren, wählen Sie einfach „Archiviert“ und klicken Sie auf „Aktualisieren“. Dadurch wird der Beitrag aus dem Front-End entfernt, einschließlich der Suche. Sie werden auch sehen, dass ein Link „Archiviert“ mit der Anzahl der Beiträge zu den Statuslinks oben auf der Seite „Beitragsliste“ hinzugefügt wird, sodass Sie schnell und einfach auf die archivierten Beiträge zugreifen können
Aber was ist mit Menüs?
WordPress ignoriert den Status beim Erstellen von Menüs. Wenn Sie eine Seite in das Menü eingefügt haben, wird sie auch dann angezeigt, wenn ihr Status archiviert oder sogar Entwurf ist.
Um zu vermeiden, dass Sie Ihre Menüs jedes Mal überprüfen müssen, wenn Sie eine Seite archivieren, verwenden Sie diesen Code entweder in Ihren Funktionen.PHP-Datei oder in einem einfachen Plugin:
function remove_archived_from_menu($post) {_wp_delete_post_menu_item($post->ID);}add_action( 'publish_to_archived', 'remove_archived_from_menu');
Dies hängt mit der Statusänderungsaktion zusammen, die jedes Mal ausgelöst wird, wenn ein Beitrag den Status ändert. In diesem Fall interessieren wir uns für den Wechsel von „Veröffentlichen“ zu „Archivieren“ (Entwurfselemente befinden sich wahrscheinlich nicht in einem Menü). Wenn diese Änderung eintritt, möchten wir jeden Menüpunkt mit der ID des Beitrags löschen.
Die Archivierung von Inhalten ist eine ziemlich grundlegende Funktion eines Content-Management-Systems, und es ist ein wenig überraschend, dass WordPress diese Funktion nicht bereits integriert hat. Das Rollen einer eigenen Lösung ist umständlich und die einfachste Lösung ist ein Hack, der bei den meisten Entwicklern nicht gut ankommt.
Die Verwendung von Edit Flow zur Archivierung ist eine unkomplizierte, hackfreie Lösung, die nicht nur einfache Archivierungsfunktionen bietet, sondern auch eine Einführung in ein leistungsstarkes Content-Management-Plugin.