Al igual que los elementos del menú Complementos o Comentarios tienen estas notificaciones numéricas en una burbuja para actualizaciones y comentarios no moderados respectivamente, me gustaría usar esa burbuja para mostrar el número de CPT que tienen un estado de "Revisión pendiente". ¿Cómo hacer eso?
He encontrado este hilo , pero no estoy seguro de a dónde ir desde allí.
Eso sería genial tenerlo; ya que necesito esta función en un sitio que utiliza contenido generado por el usuario (tipos de publicaciones personalizadas). Cada vez que los usuarios envían un nuevo CPT, su estado se establece en "Revisión pendiente", y quiero que los administradores del sitio lean rápidamente el menú para ver cuántos elementos necesitan su atención.
EDITAR: ahora tengo este código:
// 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;
}
}
}
}
... que funciona, aunque un poco inconsistente. A veces se muestra, a veces no. Además, si tengo múltiples CPT, ¿cómo aplico este código para todos y cada uno de los elementos del menú de esos CPT? El código anterior funcionará con un solo CPT.
fuente
Respuestas:
Hice este trabajo iterando a través de una lista de tipos de publicación y señalando la
$menu
clave correcta para el tipo de publicación utilizando una función secundaria (en lugar de iterar manualmente a través del$menu
objeto).Referencia de función:
get_post_types
ywp_count_posts
.fuente