Ähnlich wie die Menüelemente Plugins oder Kommentare diese Nummernbenachrichtigungen in einer Blase für Aktualisierungen bzw. nicht moderierte Kommentare enthalten, möchte ich diese Blase verwenden, um die Anzahl der CPTs anzuzeigen, die den Status "Ausstehende Überprüfung" haben. Wie soll man das machen?
Ich habe diesen Thread gefunden , bin mir aber nicht ganz sicher, wohin ich von dort aus gehen soll.
Das wäre schön zu haben; da ich diese Funktion auf einer Site benötige, die benutzergenerierten Inhalt verwendet (benutzerdefinierte Beitragstypen). Wenn Benutzer ein neues CPT einreichen, wird dessen Status auf "Ausstehende Überprüfung" gesetzt, und ich möchte, dass die Site-Administratoren schnell einen Blick auf das Menü werfen, um zu sehen, wie viele Elemente ihre Aufmerksamkeit benötigen.
EDIT: Ich habe jetzt diesen Code:
// buuble notifications for custom posts with status pending
add_action( 'admin_menu', 'add_pending_bubble' );
function add_pending_bubble() {
global $menu;
$custom_post_count = wp_count_posts('custom-post-name');
$custom_post_pending_count = $custom_post_count->pending;
if ( $custom_post_pending_count ) {
foreach ( $menu as $key => $value ) {
if ( $menu[$key][2] == 'edit.php?post_type=custom-post-name' ) {
$menu[$key][0] .= ' <span class="update-plugins count-' . $custom_post_pending_count . '"><span class="plugin-count">' . $custom_post_pending_count . '</span></span>';
return;
}
}
}
}
... was funktioniert, wenn auch etwas inkonsistent. Manchmal anzeigen, manchmal nicht. Wenn ich mehrere CPTs habe, wie wende ich diesen Code für jeden einzelnen Menüpunkt dieser CPTs an? Der obige Code funktioniert nur mit einem CPT.
quelle
Antworten:
Ich habe diese Arbeit dazu gebracht, eine Liste mit Beitragstypen zu durchlaufen und
$menu
mithilfe einer sekundären Funktion den richtigen Schlüssel für den Beitragstyp zu ermitteln (anstatt das$menu
Objekt manuell zu durchlaufen ).Funktionsreferenz:
get_post_types
undwp_count_posts
.quelle