Tout comme la façon dont les éléments du menu Plugins ou Commentaires ont ces notifications de nombre dans une bulle pour les mises à jour et les commentaires non modérés respectivement, je voudrais utiliser cette bulle pour afficher le nombre de CPT qui ont un statut "En attente de révision". Comment s'y prendre?
J'ai trouvé ce fil , mais je ne sais pas trop où aller à partir de là.
Ce serait bien d'avoir; car j'ai besoin de cette fonctionnalité sur un site qui utilise du contenu généré par l'utilisateur (types de publication personnalisés). Chaque fois que les utilisateurs soumettent un nouveau CPT, son statut est défini sur "En attente d'examen", et je veux que les administrateurs du site regardent rapidement le menu pour voir combien d'éléments nécessitent leur attention.
EDIT: J'ai maintenant ce 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;
}
}
}
}
... ce qui fonctionne, quoique un peu incohérent. Parfois afficher, parfois non. De plus, si j'ai plusieurs CPT, comment puis-je appliquer ce code pour chaque élément de menu de ces CPT? Le code ci-dessus fonctionnera avec un seul CPT.
la source
Réponses:
J'ai fait ce travail en itérant à travers une liste de types de messages et en identifiant la
$menu
clé correcte pour le type de message en utilisant une fonction secondaire (au lieu de parcourir manuellement l'$menu
objet).Référence de fonction:
get_post_types
etwp_count_posts
.la source