Выводим число комментариев в WordPress
Недавно меня спрашивали как организовать вывод количества комментариев в WordPress на сайте. Задача это не такая уж и сложная, там всего 2 функции используется, однако решил детально ее рассмотреть дабы больше ни у кого не возникало вопросов. Причем вам не нужен какой-то специальный WordPress плагин показа количества комментариев к записям, достаточно лишь небольшой правки кода шаблона. Описанные ниже действия подходят для тех случае, когда вы используете обычную систему комментирования, не Disqus (таких, думаю, здесь большинство).
Не могу сказать, что вывод числа комментариев — задача сверх важная, используется скорее как дополнительный информативный элемент описания к той или иной записи блога. Встречается код отображения в каждой теме, поэтому можно иногда подсмотреть как оно там реализовано и скопировать для своего проекта. Чаще всего используется 2 функции — comments_number и comments_popup_link.
Функция comments_popup_link
Она одновременно отображает количество комментариев в WordPress блоге и содержит ссылку на форму для комментирования.
Ее синтаксис следующий:
<?php comments_popup_link( $zero, $one, $more, $css_class, $none ); ?> |
Здесь имеются такие переменные:
- $zero — текст, который выводится, если комментариев нет;
- $one — текст, отображаемый, если есть одна запись;
- $more — будет показан, если комментов больше одного. При этом используется символ % вместо которого вставляется реальное число комментариев;
- $css_class — CSS класс для ссылок;
- $none — текст для сайта, когда комментирование закрыто.
Пример использования функции:
<?php comments_popup_link( 'Ответов пока нет', '1 ответ', 'Комментариев - %', 'comments-link', 'Обсуждение закрыто'); ?> |
Функция comments_number
Очень часто приходится заменять предыдущую функцию на comments_number, т.к. обилие бесполезных внутренних ссылок мне не особо нравится. Не вижу смысла пользователю с главной или страницы категории сразу переходить на форму комментария статьи, он ведь даже ее еще не читал.
Собственно, comments_number и выводит обычное чисто комментариев в вордпресс без ссылок и лишней информации. Синтаксис ее предельно прост:
<?php comments_number( $zero, $one, $more ); ?> |
Здесь все те же 3 параметра $zero, $one, $more — для отсутствия, одного и нескольких комментариев соответственно.
Добавление функций в шаблон
Есть два классических места для вывода количество комментариев WordPress:
- на странице архива или главной, где посты отображаются один за одним (файлы шаблона
archive.php, index.php, home.php и др.); - в одиночной новости / странице (single.php / page.php).
Пример первого способа вы можете видеть на главной блога WordPress Inside.
В данном случае для комментариев отображаются лишь цифры без текста. Вот участок кода, выполняющий это действие:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="metaLeft"> <div class="month"><?php the_time('M') ?></div> <div class="day"><?php the_time('j') ?></div> <div class="comments"><?php comments_number('0', '1', '%'); ?></div> </div> ... |
На функцию the_time не обращайте внимание (она выводит дату). Здесь главное то, что функция comments_number находится внутри цикла вывода сообщений, то есть внутри конструкции, которая начинается со строки:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> |
В этой «конструкции» шаблона вы также найдете и другие функции: для отображения даты, заголовка, анонса поста и т.п. Можете просто добавить вывода числа комментариев рядом.
В принципе, для шаблона страниц или постов блога (файлы single.php, page.php или другие, используемые для этих целей) логика действий похожая. Вам нужно найти такой же цикл вывода сообщений, начинающийся с have_posts() и добавить код отображения числа комментариев внутрь.
Если у вас остались какие-то вопросы по выводу количества комментариев в WordPress сайте, пишите в комментариях.
комментариев 6 к статье “Выводим число комментариев в WordPress”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Вкладки в Woocommerce товарах — как убрать, добавить, изменить (сниппеты + плагин)
- Вывод Woocommerce товаров на странице с Elementor с помощью плагина
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress
- Хаки для страницы категории в WooCommerce
- Топ-5 плагинов для обеспечения безопасности WordPress сайтов
- Friend Hosting — создание WP сайта в один клик, обзор панели управления и плюсов хостера
- Размеры изображений в WordPress — как изменить, добавить свои и удалить лишние
- WooCommerce (44)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (244)
- Сервисы (85)
- Хаки и секреты (87)
- Шаблоны (44)
- Записи и посты wordpress, оформление записи
(5,91 из 7, голосов - 47)
- Умный копирайт в footer.php для wordpress
(5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений
(5,13 из 7, голосов - 30)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress
(4,08 из 7, голосов - 36)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress
(4,33 из 7, голосов - 30)
- Рубрики и категории wordpress, функция wp_list_categories
(6,05 из 7, голосов - 20)
- Иконки в меню WordPress — добавляем вручную и с плагином
(4,75 из 7, голосов - 24)

- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Топ-3 видеокарты среднего класса от AMD: зачем платить больше?
- Доработка фильтра для повышения конферсии
- Зачем нужен домен
- Переваги застосування технології розумний будинок
- Дизайн сайта
- DLE (DataLife Engine) — движок для сателлитов
- Играть бесплатно в игровые автоматы без регистрации
- Продвижение сайта через социальные сети
К сожалению, не веб мастеру, не понятно, как все таки вывести комментарии на главную? Где в шаблоне поправить код? что на что заменить? или чем дополнить? Открываем редактор, а дальше куда? Если есть такая возможность, разъяснить — было бы здорово :-) спасибо
Екатерина, немного дополнил и переписал последний раздел поста. К сожалению, еще детальнее раскрыть тему я не могу. Это получился бы уже пример конкретно для вашего шаблона, а темы у многих отличаются. Не вебмастеру нужно набираться знаний и стараться становиться вебмастером, без этого увы никак. Постарайтесь внимательно медленно еще раз перечитать про добавление функций в шаблон и найти в своей теме похожий код.
А нет ли какого плагина, чтоб на сайте вывести количество комментарив?
Но всеравно спасибо, лучше такое решение, чем совсем ни какого
Денис, плагин не искал, возможно, что-то есть, но лучше все же самому разобраться — сторонний модуль может быть ненадежным.
Добрый день. Обнаружила проблему и как будто никто с такой не сталкивался.
Использую функцию comments_number(»,'(1)’,'(%)’); для вывода количества. До определённого момента (обновление или ещё что-то) всё работало корректно. Сейчас она как будто игнорирует второй и третий параметры и выводит текст по умолчанию.
Ума не приложу, откуда он берётся. Вот так выглядит: Комментарии 2 комментария
Есть идеи?
Ashe, недавно у меня было «нетипичное» поведение функции comments_number, но немного другое — число множественных комментариев не выводилось по заданном фильтру, а только с маленькой буквы. Я искал решение, потом забил и просто через CSS прописал большую первую букву. Возможно, действительно, в движке что-то изменилось.
Какие варианты? — 1) можно постепенно отключая разные модули/темы найти точную причину косяка — если это ядро, то вопрос другой; 2) написать свою функцию отображения текста, где считываете числовые значения, а потом сами через If else выводите нужные фразы.