[РЕШЕНО] Уведомление в админке о постах на утверждении
Начну с далека.
У ВП уже есть функционал, когда в админке происходит подсветка о новых комментариях.
Если есть новые комментарии, напротив пункта Комментарии светится иконка с количеством комментариев, которые ожидают модерации.
Мне нужно сделать такую же подсветку, если у меня есть посты участников отправленные на утверждение. Они-то есть во вкладке На утверждении, но не всегда админ вспоминает, что нужно туда заглянут. Да и неудобно это.
Решение
Сам спросил, сам решил.
Может кому пригодиться
// Вывод уведомления, если есть записи на утверждение
// только для админов
if( current_user_can('manage_options') ){
add_action( 'admin_notices', 'my_plugin_notice' );
function my_plugin_notice() {
$count_posts = wp_count_posts();
$countpanding = $count_posts->pending;// определяем количество записей на утверждении
if ($countpanding>0) { //если что-то есть, выводим в адмнике уведомление
?>
<div class="updated">
<p style="color:red; font-weight:bold; font-size:14px">Есть новые записи на утверждение! Количество: <?php echo $countpanding;?> </p>
<a href="/wp-admin/edit.php?post_status=pending&post_type=post">Посмотреть</a>
</div>
<?php
}
}
}Интересная штука , сохранил к себе в библиотеку, спасибо.
Готовый код для меню:
add_action( 'admin_menu', 'add_user_menu_bubble' ); function add_user_menu_bubble(){ global $menu; // записи $count = wp_count_posts()->pending; // на подтверждении if( $count ){ foreach( $menu as $key => $value ){ if( $menu[$key][2] == 'edit.php' ){ $menu[$key][0] .= ' <span class="awaiting-mod"><span class="pending-count">' . $count . '</span></span>'; break; } } } // пользователи $count = count_users(); $count = & $count['avail_roles']['administrator']; // только админы if( $count ){ foreach( $menu as $key => $value ){ if( $menu[$key][2] == 'users.php' ){ $menu[$key][0] .= ' <span class="awaiting-mod"><span class="pending-count">' . $count . '</span></span>'; break; } } } }Получим:
Помогите, пожалуйста, не работает для произвольных типов записей.
У меня post_type=vacancy.
Прописываю $menu[$key][у меня в настройках -1] (с минусом). Пробовал без минуса другие значения - не работает.
$count = wp_count_posts($type = 'vacancy')->pending; // на подтверждении if( $count ){ foreach( $menu as $key => $value ){ if( $menu[$key][2] == 'edit.php?post_type=vacancy' ){ $menu[$key][0] .= ' <span class="awaiting-mod"><span class="pending-count">' . $count . '</span></span>'; break; } } }https://www.skyverge.com/blog/add-admin-menu-notification-bubble/
https://paghdarakshay.wordpress.com/2014/02/04/how-to-add-notification-bubble-to-wordpress-admin-menu/
http://stackoverflow.com/questions/8625674/how-can-i-add-notification-bubble-to-wordpress-admin-menu
http://wordpress.stackexchange.com/questions/15567/add-update-notification-bubble-to-admin-menu-item
http://w-shadow.com/blog/2012/05/03/adding-a-notification-bubble-to-an-admin-menu-item/