Часто мне задают вопросы о том, как вывести количество комментариев в разных ситуациях. Чтобы сразу семерых одним ударом обезвредить, я решил собрать все, описываемые ранее, способы вывода количества комментариев, при все они не нуждаются в установке дополнительных плагинов.
Как вывести общее число комментариев в блоге
В нужном для вывода месте шаблона вставьте следующий код:
publish; $count_comments = get_comment_count(); $comments = $count_comments['approved']; echo "Всего комментариев: ".$comments." В среднем на публикацию комментариев: ".round($comments/$posts)." "; ?>
Этот способ описан тут: С его помошью можно в любом месте блога вывести общее количество одобренных комментариев.
Как вывести количество пингов/трекбэков
В нужном месте файла single.php или comments.php просто вставляем следующий код:
get_var("SELECT count(comment_id) FROM $wpdb->comments WHERE comment_type = 'pingback'"); $total_approved_pings = $wpdb->get_var("SELECT count(comment_id) FROM $wpdb->comments WHERE comment_type = 'pingback' and comment_approved = 1"); $post_ping_count = $wpdb->get_var("SELECT count(comment_id) FROM $wpdb->comments WHERE comment_type = 'pingback' and comment_approved = 1 and comment_post_id = $post_id"); echo "Всего ссылаются на этот сайт - $total_ping_count.n"; echo "Всего проверенных трекбэков на этот сайт - $total_approved_pings.n"; echo "Всего трекбэков на этот пост - $post_ping_count.n"; ?>
В итоге получаем примерно следующее:
Способ подробно описан тут:
Как вывести количество комментариев рядом с ником комментатора
В файл functions.php добавляет код:
function commentCount() { global $wpdb; $count = $wpdb->get_var('SELECT COUNT(comment_ID) FROM ' . $wpdb->comments. ' WHERE comment_author_email = "' . get_comment_author_email() . '"'); echo $count . ' comments'; }
Рядом с функцией вывода ника комментатора вставляем:
</pre> <p>Более подробное описание: Еще один похожий способ: </p> <h2>Как вывести количество постов, страниц и комментариев в блоге</h2> <p>Способ, описывающий, как вывести не только количество одобренных комментариев, но и тех, что пока что находятся на проверке, и количество комментариев, отправленных в спам, а так же и другие статистические данные блога.</p> <p>В файл <em>functions.php</em> вставляет такой код:</p> <pre>// считаем посты $n_post = wp_count_posts(); $n_post_publish = $n_post->publish; $n_post_drafts = $n_post->draft; // считаем страницы $n_page = wp_count_posts('page'); $n_page_publish = $n_page->publish; $n_page_drafts = $n_page->draft; // считаем посты произвольного типа $n_cpt = wp_count_posts('название_произвольного _типа_постов'); $n_cpt_publish = $n_cpt->publish; $n_cpt_drafts = $n_cpt->draft; // считаем комментарии $n_comments = wp_count_comments(); $n_comments_moderated = $n_comments->moderated; $n_comments_approved = $n_comments->approved; $n_comments_spam = $n_comments->spam; $n_comments_trash = $n_comments->trash; $n_comments_total = $n_comments->total_comments;
В шаблон вставляем этот код:
// посты Опубликовано постов: Постов в черновиках: // страницы Опубликовано страниц: Страниц в черновиках: // посты произвольного типа Опубликовано постов: Постов ы черновиках: // комментарии Комментариев на модерации: Одобренных комментариев: Комментариев в спаме: Комментариев в корзине: Всего комментариев:
Более подробное описание:
Надеюсь, что приведенные способы улучшения блога будут полезны.