Янв
12
6

Выводим число комментариев в WordPress

Комментарии в WordPressНедавно меня спрашивали как организовать вывод количества комментариев в WordPress на сайте. Задача это не такая уж и сложная, там всего 2 функции используется, однако решил детально ее рассмотреть дабы больше ни у кого не возникало вопросов. Причем вам не нужен какой-то специальный WordPress плагин показа количества комментариев к записям, достаточно лишь небольшой правки кода шаблона. Описанные ниже действия подходят для тех случае, когда вы используете обычную систему комментирования, не Disqus (таких, думаю, здесь большинство).

Не могу сказать, что вывод числа комментариев — задача сверх важная, используется скорее как дополнительный информативный элемент описания к той или иной записи блога. Встречается код отображения в каждой теме, поэтому можно иногда подсмотреть как оно там реализовано и скопировать для своего проекта. Чаще всего используется 2 функции — comments_number и comments_popup_link.

Функция comments_popup_link

Она одновременно отображает количество комментариев в WordPress блоге и содержит ссылку на форму для комментирования.

Вывод количества комментариев в 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.

Отображение числа комментариев в wordpress

В данном случае для комментариев отображаются лишь цифры без текста. Вот участок кода, выполняющий это действие:

<?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 сайте, пишите в комментариях.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 2, средний балл: 7,00 из 7)
Загрузка...

категория Категории: Возможности;
теги Теги: , , , , .

комментариев 6 к статье “Выводим число комментариев в WordPress”

  • Екатерина   17.01.2016

    К сожалению, не веб мастеру, не понятно, как все таки вывести комментарии на главную? Где в шаблоне поправить код? что на что заменить? или чем дополнить? Открываем редактор, а дальше куда? Если есть такая возможность, разъяснить — было бы здорово :-) спасибо

  • Tod   18.01.2016

    Екатерина, немного дополнил и переписал последний раздел поста. К сожалению, еще детальнее раскрыть тему я не могу. Это получился бы уже пример конкретно для вашего шаблона, а темы у многих отличаются. Не вебмастеру нужно набираться знаний и стараться становиться вебмастером, без этого увы никак. Постарайтесь внимательно медленно еще раз перечитать про добавление функций в шаблон и найти в своей теме похожий код.

  • Денис   22.01.2016

    А нет ли какого плагина, чтоб на сайте вывести количество комментарив?
    Но всеравно спасибо, лучше такое решение, чем совсем ни какого

  • Tod   22.01.2016

    Денис, плагин не искал, возможно, что-то есть, но лучше все же самому разобраться — сторонний модуль может быть ненадежным.

  • Ashe   20.02.2017

    Добрый день. Обнаружила проблему и как будто никто с такой не сталкивался.
    Использую функцию comments_number(»,'(1)’,'(%)’); для вывода количества. До определённого момента (обновление или ещё что-то) всё работало корректно. Сейчас она как будто игнорирует второй и третий параметры и выводит текст по умолчанию.
    Ума не приложу, откуда он берётся. Вот так выглядит: Комментарии 2 комментария
    Есть идеи?

  • Tod   21.02.2017

    Ashe, недавно у меня было «нетипичное» поведение функции comments_number, но немного другое — число множественных комментариев не выводилось по заданном фильтру, а только с маленькой буквы. Я искал решение, потом забил и просто через CSS прописал большую первую букву. Возможно, действительно, в движке что-то изменилось.
    Какие варианты? — 1) можно постепенно отключая разные модули/темы найти точную причину косяка — если это ядро, то вопрос другой; 2) написать свою функцию отображения текста, где считываете числовые значения, а потом сами через If else выводите нужные фразы.

Оставить комментарий

(предыдущая статья)

Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости