Выводим число комментариев, ожидающих модерации для конкретного пользователя Wordpress
В wordpress удобная система модерации комментариев, однако, если на сайте много авторов - система модерации имеет явный недостаток. Все авторы видят в своих админках общее число комментариев, ожидающих модерации. При этом отмодерировать авторы могут только комментарии, оставленные только к их записям.
Итак, нам нужен способ вывода количества комментариев, ожидающих модерации конкретным залогиненным пользователем. Для примера рассмотрим кружочек с числом ожидающих модерации комментариев в меню админки.
Для изменения данного кружочка, а точнее цифры в нем - отправляемся в wp-admin/menu.php и находим там строку
$awaiting_mod = $awaiting_mod->moderated;
Как видите, в данном случае все авторы видят общее количество ожидающих модерации комментариев. Давайте изменим переменную $awaiting_mod.
global $current_user;
get_currentuserinfo();
$logged_user_ID = $current_user->ID; // получаем id залогиненного пользователя
$comments_awaiting_moderation = 0;
//проходим в цикле все публикации пользователя и считаем кол-во комментариев, ждущих модерации
$numposts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type<>'attachment' AND post_author = ". $logged_user_ID);
foreach ($numposts as $numpost) {
//смотрим число комментариев к данной записи
$comments_count = wp_count_comments($numpost->ID);
$comments_for_logged_in_user_to_moderate += $comments_count->moderated;
}
$awaiting_mod = $comments_awaiting_moderation;




