Подобно тому, как пункты меню «Плагины» или «Комментарии» содержат эти числовые уведомления в пузыре для обновлений и немодерируемых комментариев соответственно, я хотел бы использовать этот пузырь для отображения количества CPT, которые имеют статус «Ожидает проверки». Как это сделать?
Я нашел эту тему , но не совсем уверен, куда идти дальше.
Это было бы здорово иметь; так как мне нужна эта функция на сайте, который использует пользовательский контент (пользовательские типы сообщений). Всякий раз, когда пользователи отправляют новый CPT, его статус устанавливается на «Ожидание просмотра», и я хочу, чтобы администраторы сайта быстро заглянули в меню, чтобы увидеть, сколько элементов требует их внимания.
РЕДАКТИРОВАТЬ: У меня сейчас есть этот код:
// 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;
}
}
}
}
... который работает, хотя и немного противоречиво. Иногда отображается, иногда нет. Кроме того, если у меня есть несколько CPT, как я могу применить этот код для каждого пункта меню этих CPT? Приведенный выше код будет работать только с одним CPT.
источник
Ответы:
Я сделал эту работу, перебирая список типов записей и определяя правильный
$menu
ключ для типа записей, используя вторичную функцию (вместо ручной итерации по$menu
объекту).Ссылка на функцию:
get_post_types
иwp_count_posts
.источник