Выводим число комментариев в 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 шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,87 из 7, голосов - 45)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
К сожалению, не веб мастеру, не понятно, как все таки вывести комментарии на главную? Где в шаблоне поправить код? что на что заменить? или чем дополнить? Открываем редактор, а дальше куда? Если есть такая возможность, разъяснить — было бы здорово :-) спасибо
Екатерина, немного дополнил и переписал последний раздел поста. К сожалению, еще детальнее раскрыть тему я не могу. Это получился бы уже пример конкретно для вашего шаблона, а темы у многих отличаются. Не вебмастеру нужно набираться знаний и стараться становиться вебмастером, без этого увы никак. Постарайтесь внимательно медленно еще раз перечитать про добавление функций в шаблон и найти в своей теме похожий код.
А нет ли какого плагина, чтоб на сайте вывести количество комментарив?
Но всеравно спасибо, лучше такое решение, чем совсем ни какого
Денис, плагин не искал, возможно, что-то есть, но лучше все же самому разобраться — сторонний модуль может быть ненадежным.
Добрый день. Обнаружила проблему и как будто никто с такой не сталкивался.
Использую функцию comments_number(»,'(1)’,'(%)’); для вывода количества. До определённого момента (обновление или ещё что-то) всё работало корректно. Сейчас она как будто игнорирует второй и третий параметры и выводит текст по умолчанию.
Ума не приложу, откуда он берётся. Вот так выглядит: Комментарии 2 комментария
Есть идеи?
Ashe, недавно у меня было «нетипичное» поведение функции comments_number, но немного другое — число множественных комментариев не выводилось по заданном фильтру, а только с маленькой буквы. Я искал решение, потом забил и просто через CSS прописал большую первую букву. Возможно, действительно, в движке что-то изменилось.
Какие варианты? — 1) можно постепенно отключая разные модули/темы найти точную причину косяка — если это ядро, то вопрос другой; 2) написать свою функцию отображения текста, где считываете числовые значения, а потом сами через If else выводите нужные фразы.