Beitragsstatus


Beiträge in WordPress können einen von mehreren Status haben. Der Status eines bestimmten Beitrags bestimmt, wie WordPress mit diesem Beitrag umgeht. Beispielsweise wird öffentlichen Beiträgen, die für alle sichtbar sind, der Status publish zugewiesen, während Entwürfe den Status draft erhalten. Der Status wird im Feld post_status der Tabelle wp_posts gespeichert.

WordPress stellt 8 integrierte Status bereit, die Sie verwenden können. WordPress 3.0 ermöglichte es Ihnen, eigene benutzerdefinierte Beitragsstatus hinzuzufügen und sie auf unterschiedliche Weise zu verwenden.

Workflow

WordPress bietet integrierte Funktionen, mit denen einige Benutzer (abhängig von ihren Rollen und Berechtigungen) auf der Website eingereichte Inhalte überprüfen können, bevor sie veröffentlicht werden. Dies wird allgemein als “Workflow” bezeichnet. Die Workflow-Funktionen von WordPress stützen sich auf den Wert des Feldes post_status eines Beitrags, um zu erkennen, in welchem Schritt des Workflow-Prozesses sich der Beitrag gerade befindet.

Die meisten Benutzer sind bereits mit mindestens zwei Workflow-Status vertraut:

  • Veröffentlichte Beiträge, die für alle sichtbar sind (einschließlich nicht angemeldeter Benutzer), erhalten den publish-Status.
  • Noch nicht veröffentlichte Entwürfe erhalten den draft-Status.

Intern setzt WordPress den Beitragsstatus auf publish, wenn Sie auf die Schaltfläche “Veröffentlichen” klicken, und WordPress setzt den Beitragsstatus auf draft, wenn Sie auf die Schaltfläche “Entwurf speichern” klicken. Wenn Ihre Website außerdem Benutzer mit der edit_posts-Berechtigung, aber ohne die publish_posts-Berechtigung hat, zeigt WordPress diesen Benutzern beim Erstellen eines neuen Beitrags die Schaltfläche “Zur Überprüfung einreichen” statt der Schaltfläche “Veröffentlichen” an. Ebenso weist WordPress dem von diesem Benutzer erstellten Beitrag den pending-Status zu, wenn dieser auf die Schaltfläche klickt.

Der Status eines Beitrags kann außerdem im Administrationsbildschirm und im Bildschirm Neue Beiträge hinzufügen von jedem Benutzer festgelegt werden, der über die erforderliche Berechtigung verfügt, den Beitrag dem jeweiligen Status zuzuweisen. Intern werden all diese Beiträge am selben Ort gespeichert (in der Tabelle wp_posts) und durch eine Spalte namens post_status unterschieden.

Standardstatus

Es gibt 8 wichtige Beitragsstatus, die WordPress standardmäßig verwendet.

Veröffentlicht

Für alle sichtbar. (publish)

Zukünftig

Soll an einem zukünftigen Datum veröffentlicht werden. (future)

Entwurf

Unvollständiger Beitrag, der für jeden mit der entsprechenden Benutzerrolle sichtbar ist. (draft)

Ausstehend

Wartet darauf, von einem Benutzer mit der Berechtigung publish_posts veröffentlicht zu werden (typischerweise einem Benutzer mit der Editor-Rolle). (pending)

Privat

Nur für WordPress-Benutzer auf Administratorebene sichtbar. (private)

Papierkorb

Beiträge im Papierkorb erhalten den Status trash. (trash)

Automatischer Entwurf

Revisionen, die WordPress während der Bearbeitung automatisch speichert. (auto-draft)

Vererben

Wird bei einem untergeordneten Beitrag (z. B. Anhängen und Revisionen) verwendet, um den tatsächlichen Status aus dem übergeordneten Beitrag zu bestimmen. (inherit)

Benutzerdefinierter Status

HINWEIS:

Diese Funktion fügt den registrierten Beitragsstatus NICHT zum Administrationsbildschirm hinzu. Diese Funktionalität soll in einer zukünftigen Entwicklung ergänzt werden. Bitte beachten Sie Trac-Ticket #12706.

Ziehen Sie den Aktions-Hook post_submitbox_misc_actions in Betracht, um diesen Parameter hinzuzufügen.

Ein benutzerdefinierter Status ist ein Beitragsstatus, den Sie definieren.

Das Hinzufügen eines benutzerdefinierten Status zu WordPress erfolgt über die Funktion register_post_status(). Mit dieser Funktion können Sie den Beitragsstatus und seine Funktionsweise innerhalb von WordPress definieren.

Hier ist ein einfaches Beispiel für das Hinzufügen eines benutzerdefinierten Beitragsstatus namens “Unread”:

function custom_post_status(){
	register_post_status( 'unread', array(
		'label'                     => _x( 'Unread', 'post' ),
		'public'                    => true,
		'exclude_from_search'       => false,
		'show_in_admin_all_list'    => true,
		'show_in_admin_status_list' => true,
		'label_count'               => _n_noop( 'Unread (%s)', 'Unread (%s)' ),
	) );
}
add_action( 'init', 'custom_post_status' );

Ressourcen

Verwandt

Code-Dokumentation