Выводим число комментариев, ожидающих модерации для конкретного пользователя 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;