Sama seperti bagaimana item menu Plugin atau Komentar memiliki notifikasi nomor ini dalam gelembung untuk pembaruan dan komentar yang tidak dimoderasi, saya ingin menggunakan gelembung itu untuk menampilkan jumlah CPT yang memiliki status "Pending review". Bagaimana cara melakukannya?
Saya telah menemukan utas ini , tetapi tidak yakin ke mana harus pergi dari sana.
Itu akan rapi untuk dimiliki; karena saya memerlukan fitur ini di situs yang menggunakan konten buatan pengguna (tipe posting khusus). Setiap kali pengguna mengirimkan CPT baru, statusnya ditetapkan ke "Tinjauan tertunda", dan saya ingin admin situs untuk cepat melirik menu untuk melihat berapa banyak item yang perlu perhatian mereka.
EDIT: Saya sekarang memiliki kode ini:
// 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;
}
}
}
}
... yang berfungsi, meskipun agak tidak konsisten. Terkadang ditampilkan, kadang tidak. Selain itu, jika saya memiliki beberapa CPT, bagaimana cara menerapkan kode ini untuk setiap item menu CPT tersebut? Kode di atas hanya akan berfungsi dengan satu CPT.
sumber
Jawaban:
Saya membuat pekerjaan ini berulang melalui daftar jenis posting, dan menunjukkan dengan tepat
$menu
kunci untuk jenis posting menggunakan fungsi sekunder (bukan secara manual mengulangi melalui$menu
objek).Referensi fungsi:
get_post_types
danwp_count_posts
.sumber