Assim como os itens de menu Plugins ou Comentários têm essas notificações numéricas em um balão para atualizações e comentários não moderados, respectivamente, eu gostaria de usar esse balão para exibir o número de CPTs com status "Revisão pendente". Como fazer isso?
Eu encontrei esta discussão , mas não tenho certeza para onde ir a partir daí.
Seria legal ter isso; pois preciso desse recurso em um site que usa conteúdo gerado pelo usuário (tipos de postagem personalizados). Sempre que os usuários enviam um novo CPT, seu status é definido como "Revisão pendente" e quero que os administradores do site olhem rapidamente o menu para ver quantos itens precisam de atenção.
EDIT: Agora tenho 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;
}
}
}
}
... o que funciona, embora um pouco inconsistente. Às vezes exibindo, às vezes não. Além disso, se eu tenho vários CPTs, como aplico esse código para cada item de menu desses CPTs? O código acima funcionará com apenas um CPT.
fonte
Respostas:
Eu fiz esse trabalho iterando através de uma lista de tipos de postagem e identificando a
$menu
chave correta para o tipo de postagem usando uma função secundária (em vez de iterar manualmente através do$menu
objeto).Referência da função:
get_post_types
ewp_count_posts
.fonte