Podobnie do tego, w jaki sposób elementy menu Wtyczki lub Komentarze mają te powiadomienia liczbowe w dymku odpowiednio dla aktualizacji i niemoderowanych komentarzy, chciałbym użyć tego bąbelka do wyświetlenia liczby CPT, które mają status „Oczekuje na sprawdzenie”. Jak to zrobić?
Znalazłem ten wątek , ale nie do końca wiem, dokąd się udać.
Byłoby fajnie mieć; ponieważ potrzebuję tej funkcji w witrynie, która korzysta z treści generowanych przez użytkowników (niestandardowe typy postów). Za każdym razem, gdy użytkownicy przesyłają nowy CPT, jego stan jest ustawiany na „Oczekuje na sprawdzenie” i chcę, aby administratorzy witryny szybko spojrzeli na menu, aby zobaczyć, ile elementów wymaga uwagi.
EDYCJA: Mam teraz ten kod:
// 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;
}
}
}
}
... co działa, choć trochę niekonsekwentnie. Czasami wyświetla się, czasem nie. Ponadto, jeśli mam wiele CPT, jak zastosować ten kod do każdego elementu menu tych CPT? Powyższy kod będzie działał tylko z jednym CPT.
źródło
Odpowiedzi:
Zrobiłem tę pracę iterując po liście typów postów i wskazując właściwy
$menu
klucz dla typu postu za pomocą dodatkowej funkcji (zamiast ręcznego iterowania po$menu
obiekcie).Referencja funkcji:
get_post_types
iwp_count_posts
.źródło