it-swarm.com.de

Benutzerdefinierte Post-Typ-Status

Ich arbeite (noch) an einem benutzerdefinierten Beitragstyp-Plugin für meinen Arbeitsplatz und habe eine einfachere Methode gefunden, um Besucher (meinen benutzerdefinierten Beitragstyp) als "Hier" (auch als eingecheckt) oder "Nicht Hier" (nicht aktiviert) zu kennzeichnen -im).

Ich habe das Edit Flow Plugin erkundet und um ehrlich zu sein, kann ich nicht wirklich verfolgen, was hier alles vor sich geht ... ich habe es jedoch getan stoßen auf eine Funktion, die im Kern von WordPress zu sein scheint, aber ich kann nicht viel Dokumentation im Web finden (keine auf wordpress.org sogar). Die Funktion ist register_post_status, aber das Beste, was ich gefunden habe, war diese Ressource , die mir bestenfalls nur die Argumente zeigt, die mit dem Parameter $args der Funktion zusammenhängen.

Hat das schon mal jemand versucht? Oder bin ich der einzige, der wirklich benutzerdefinierte Post-Status für benutzerdefinierte Post-Typen benötigt?

EDIT: Ich habe dieses und dieses gemäß den Antworten/Kommentaren, die ich erhalten habe . Hier ist eine Implementierung, bei der ich mir nicht hundertprozentig sicher bin, weil die Dokumentation fehlt.

Ich weiß, dass es nicht funktioniert, aber ich verstehe nicht , warum es nicht funktioniert. Keiner der beiden Status wird in der Statusliste angezeigt. Meine nächste Vorgehensweise besteht darin, sie mit einer Taxonomie zu hacken und einfach meine eigene Meta-Box "Veröffentlichen" zu erstellen.

    register_post_status('in', array(
            'label' => _x( 'Logged In', $post_type ),
            'protected' => true,
            'label_count' => _n_noop( 'Visitors logged in <span class="count">(%s)</span>', 'Visitors logged in <span class="count">(%s)</span>' ),
            'show_in_admin_status_list' => true,
        ));

    register_post_status('out', array(
            'label' => _x( 'Logged Out', $post_type ),
            'protected' => true,
            'label_count' => _n_noop( 'Visitors logged out <span class="count">(%s)</span>', 'Visitors logged out <span class="count">(%s)</span>' ),
            'show_in_admin_status_list' => true,
        ));
2
Zack

Benutzerdefinierte Post-Status existieren im Kerncode von WordPress, so dass Sie sie registrieren können, sie sind jedoch in den Admin-Bildschirmen noch nicht ordnungsgemäß implementiert (z. B. werden sie nicht in der Dropdown-Liste der Status neben Ausstehende Überprüfung, Entwurf, Veröffentlicht angezeigt). . Im Grunde kann man im Moment sehr wenig damit anfangen.

Weitere Informationen finden Sie unter Trac-Ticket 12706 .

7

Ich habe etwas Ähnliches getan, wie Facebook, wo Sie Statusaktualisierungen veröffentlichen können. Ähnlich wie bei dem, was du versuchst, glaube ich. Ich habe gerade einen benutzerdefinierten Beitragstyp erstellt, der nur den Auszug und den Titel unterstützt, um ihn zum Posten der Status zu verwenden.

Der register_post_status ist nicht das, was Sie denken. Die Post-Status in wp sind Dinge wie "Veröffentlichen", "Entwurf", "Zukünftige (geplante Posts)" und "Gesperrt/Privat". Sie sind der Status Ihrer Beiträge. Unabhängig davon, ob sie veröffentlicht wurden oder nicht.

Um zu zeigen, wer gerade an- und abgemeldet ist, können Sie ein Plugin verwenden. Ich empfehle diesen zum Beispiel. http://lesterchan.net/portfolio/programming/php/#wp-useronline

Sie können auch ein relativ kurzes Skript erstellen, das alle registrierten Benutzer durchläuft und anhand ihrer IDs überprüft, ob is_user_logged_in(). Dies würde nicht funktionieren, um die angemeldeten Benutzer zurückzugeben. Es werden nur alle registrierten Benutzer durchlaufen, damit Sie mit ihnen arbeiten können. Sie könnten einen Weg finden, wie Sie is_user_logged_in () überprüfen können, obwohl ich mir irgendwie sicher bin.

<?php
$wp_user_search = $wpdb->get_results("SELECT ID, display_name FROM $wpdb->users ORDER BY ID");

foreach ( $wp_user_search as $userid ) {
    $user_id = (int) $userid->ID;

    /* use this or some other current_user() function in WP to check if user is logged 
       @is_user_logged_in();
    */
}
?>
2
jaredwilli