Как вывести число комментариев

Содержание
  1. Как вывести количество комментариев
  2. Как вывести общее число комментариев в блоге
  3. Как вывести количество пингов/трекбэков
  4. Как вывести количество комментариев рядом с ником комментатора
  5. Как вывести количество постов, страниц и комментариев в блоге
  6. comments_number() WP 0.71
  7. Возвращает
  8. Использование
  9. Примеры
  10. #1. Количество комментариев статьи
  11. #2. ссылка на комментарии
  12. Список изменений
  13. Код comments_number() comments number WP 5.8.1
  14. Cвязанные функции
  15. Циклы комментариев
  16. Комментарии
  17. Выводим число комментариев в WordPress
  18. Функция comments_popup_link
  19. Функция comments_number
  20. Добавление функций в шаблон
  21. Как вывести число комментариев к записи на WordPress
  22. get_comments() WP 2.7.0
  23. Возвращает
  24. Шаблон использования
  25. Использование
  26. Аргументы параметра $args
  27. Примеры
  28. #1. Выведет все комментарии к посту 15 (включая спам и не одобренные).
  29. #2. Покажет 5 не одобренных комментариев.
  30. #3. Выведем на экран количество комментариев поста.
  31. #4. Выведем количество комментариев пользователя.
  32. #5. Выведем комментарии пользователя.
  33. #6. Удалим, идущие подряд, одинаковые комментарии.
  34. #7 Получим последние комментарии списком.
  35. #8 Пример получения дочерних комментариев в виде дерева
  36. #9 Запрос get_comments() через WP_Comment_Query
  37. #10 Создание пагинации комментариев
  38. Список изменений
  39. Код get_comments() get comments WP 5.8.1
  40. Cвязанные функции
  41. Комментарии

Как вывести количество комментариев

Часто мне задают вопросы о том, как вывести количество комментариев в разных ситуациях. Чтобы сразу семерых одним ударом обезвредить, я решил собрать все, описываемые ранее, способы вывода количества комментариев, при все они не нуждаются в установке дополнительных плагинов.

Как вывести общее число комментариев в блоге

В нужном для вывода месте шаблона вставьте следующий код:

Этот способ описан тут: https://n-wp.ru/2743 С его помошью можно в любом месте блога вывести общее количество одобренных комментариев.

Как вывести количество пингов/трекбэков

В нужном месте файла single.php или comments.php просто вставляем следующий код:

Читайте также:  Чем отмыть известковый налет со смесителя

В итоге получаем примерно следующее:

Способ подробно описан тут: https://n-wp.ru/5801

Как вывести количество комментариев рядом с ником комментатора

В файл functions.php добавляет код:

Рядом с функцией вывода ника комментатора вставляем:

Более подробное описание: https://n-wp.ru/6432 Еще один похожий способ: https://n-wp.ru/6501

Как вывести количество постов, страниц и комментариев в блоге

Способ, описывающий, как вывести не только количество одобренных комментариев, но и тех, что пока что находятся на проверке, и количество комментариев, отправленных в спам, а так же и другие статистические данные блога.

В файл functions.php вставляет такой код:

В шаблон вставляем этот код:

Более подробное описание: https://n-wp.ru/6438

Надеюсь, что приведенные способы улучшения блога будут полезны.

Источник

comments_number() WP 0.71

Выводит на экран количество комментариев записи (поста). Уведомления и пинги включаются в подсчет. Для использования внутри Цикла WordPress.

Используйте get_comments_number(), когда нужно получить само число, а не готовую надпись.

Возвращает

null . Выводит текст на экран.

Использование

Примеры

#1. Количество комментариев статьи

Выведем количество комментариев статьи и укажем какой текст писать, при определенном количестве комментариев.

#2. ссылка на комментарии

Выведем для каждого анонса поста на странице категорий ссылку на комментарии, где анкором ссылки будет количество комментариев поста:

Список изменений

С версии 0.71 Введена.
С версии 5.4.0 The $deprecated parameter was changed to $post_id .

Код comments_number() comments number WP 5.8.1

Cвязанные функции

Циклы комментариев

Комментарии

Привет. Не подскажешь как можно сделать вот так:

Если комментариев 0 — есть ссылка Добавить свой комментарий
Если комментариев > 0 — есть ссылка — посмотреть комментарии (ссылка Добавить свой. пропадает)

Заранее большое спасибо.

Обязательно в цикле должно быть

respond — это ID блока, в котором находится форма комментария.
comments — это ID блока, в котором выводятся комментарии.

Зачем в цикле выводить?

Исправьте:
У этого поста
.

Где 1 комментарий.

И когда добавляешь коммент, то кнопка тупо оранжевая без текста, только когда наводишь на нее курсор появляется текст, браузер: Хром.

Так специально. Не баг, а фитча

Приветствую, а как вывести окончания для 2, 3, 4?
К примеру,
2 комментария
3 комментария
44 комментария и т.п.?

Приветствую!
Столкнулся с такой проблемой: сайт сделан с использованием шаблонизатора твиг, и есть страницы категорий, на которых выводятся таблицы с рейтингом постов, так вот нужно в эту таблицу вывести количество комментариев для каждого поста. Пробую добавить в шаблон twig такой код:

Но он просто ставит для всех записей в таблице «Нет комментариев», при этом, если в таблице только один пост, то для него всё нормально выводится.
Может кто сталкивался с такой задачкой?

Источник

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

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

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

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

Ее синтаксис следующий:

Здесь имеются такие переменные:

  • $zero — текст, который выводится, если комментариев нет;
  • $one — текст, отображаемый, если есть одна запись;
  • $more — будет показан, если комментов больше одного. При этом используется символ % вместо которого вставляется реальное число комментариев;
  • $css_class — CSS класс для ссылок;
  • $none — текст для сайта, когда комментирование закрыто.

Пример использования функции:

Функция comments_number

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

Собственно, comments_number и выводит обычное чисто комментариев в вордпресс без ссылок и лишней информации. Синтаксис ее предельно прост:

Здесь все те же 3 параметра $zero, $one, $more — для отсутствия, одного и нескольких комментариев соответственно.

Добавление функций в шаблон

Есть два классических места для вывода количество комментариев WordPress:

  • на странице архива или главной, где посты отображаются один за одним (файлы шаблона
    archive.php, index.php, home.php и др.);
  • в одиночной новости / странице (single.php / page.php).

Пример первого способа вы можете видеть на главной блога WordPress Inside.

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

На функцию the_time не обращайте внимание (она выводит дату). Здесь главное то, что функция comments_number находится внутри цикла вывода сообщений, то есть внутри конструкции, которая начинается со строки:

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

В принципе, для шаблона страниц или постов блога (файлы single.php, page.php или другие, используемые для этих целей) логика действий похожая. Вам нужно найти такой же цикл вывода сообщений, начинающийся с have_posts() и добавить код отображения числа комментариев внутрь.

Если у вас остались какие-то вопросы по выводу количества комментариев в WordPress сайте, пишите в комментариях.

Источник

Как вывести число комментариев к записи на WordPress

2015-03-15 / Вр:21:43 / просмотров: 10789

Наверняка вы замечали в анонсах блога, количество комментарий. Если вы не поняли, о чем это я сейчас говорю, тогда поможет вам для наглядности вот эта картинка-пример:

По сути, вывести число комментариев к записи на WordPress не сложно. А вот украсить и придать красивый вид, здесь поможет ваша фантазия и знание основ CSS. Но не буду о печальном, а перейдем к самой теме.
Чтобы вывести число комментариев к записи на WordPress нам предлагается функция « comments_number » .
Выглядит это вот так:

$zero – когда нет комментариев
$one – когда комментарий один
$more – когда комментариев много.

Отталкиваясь от таких подсказок, можно эту функцию сделать вот так:

В кавычках ‘ ‘ , вы можете написать свой текст абсолютно любой.

Для одного заказчика, я вообще вывел число комментариев вот так:

0 – когда нет комментариев
1 – когда комментарий один
% – когда комментариев много.

Чтобы вывести число комментарий к записи как ссылку, я сделайте вот так:

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

Вот что получилось:

Вывести можно и так:

Тогда вы увидите в тексте

Комментариев нет
или
Комментарии (2)
или
Комментарии (1)

Итак, для тех, кто не знает, куда ставиться этот код, сейчас распишу.
Открывайте файл темы « index.php ».
Найдите в коде вот это:

Теперь ставьте код, который я привел самом верху, перед или после вот этого:

Примерно это будет выглядеть вот так:

Надеюсь, разъяснил понятливо. Если что, пишите! Помогу!

Источник

get_comments() WP 2.7.0

Получает комментарии по указанным параметрам, в виде массива данных.

Возвращает

int|Массив . Массив объектов комментариев:

Или число, когда указано получить кол. комментариев.

Шаблон использования

Использование

Аргументы параметра $args

  • author_email (строка)
  • author__in (число/массив)
  • author__not_in (число/массив)
  • comment__in (массив/число)
  • comment__not_in (массив/число)
  • count (true/false)
  • include_unapproved (массив)
  • karma (число)
  • parent (число)
  • parent__in (массив)
  • parent__not_in (массив)
  • post_author (число)
  • post_author__in (число/массив)
  • post_author__not_in (число/массив)
  • post_id (число)
  • post__in (массив)
  • post__not_in (массив)
  • post_status (строка)
  • post_type (строка)
  • post_name (строка)
  • post_parent (число)
  • search (строка)
  • status (строка)
  • orderby (строка/массив)
  • order (строка)
  • number (число)
  • offset (число)
  • no_found_rows (логический)
  • meta_key (строка)
  • meta_value (строка)
  • meta_query (массив)
  • date_query (массив)
  • fields (строка)
  • type (строка/массив)
  • type__in (строка/массив)
  • type__not_in (строка/массив)
  • user_id (число)
  • hierarchical (строка/логический)
  • update_comment_meta_cache (логический)
  • update_comment_post_cache (логический)

author_email(строка) email автора комментария, комментарии которого нужно получить.
По умолчанию: » author__in(число/массив) ID автора, комментарии которого нужно получить. Можно указать ID нескольких авторов в массиве. В запросе используется поле user_id .
По умолчанию: » author__not_in(число/массив) ID автора, комментарии которого нужно исключить. Можно указать ID нескольких авторов в массиве. В запросе используется поле user_id .
По умолчанию: » comment__in(массив/число) ID комментариев которые нужно получить.
По умолчанию: » comment__not_in(массив/число) ID комментариев которые нужно исключить.
По умолчанию: » count(true/false) При true функция вернет общее число комментариев. При false массив объектов комментариев.
По умолчанию: нет include_unapproved(массив) Массив ID или email пользователей, неодобренные комментарии которых будут включены в результат, неважно какой статус бы указан в параметре status .
По умолчанию: » karma(число) Получить комментарии с указанным числом karma.
По умолчанию: » parent(число) ID комментария, дочерние комментарии которого нужно получить. Указываем ID и запрос будет строиться по полю comment_parent=указанное число .
Если включен параметр hierarchical , то в результат также будут добавлены вложенные комментарии (не только те которые указаны в этом параметре)
По умолчанию: » parent__in(массив) Массив ID комментариев, дочерние комментарии которых нужно получить. Тоже что и parent , только указываются сразу несколько ID.
По умолчанию: array() parent__not_in(массив) ID комментариев, дочерние комментарии которых НЕ нужно получать. Противоположность параметра parent__in .
По умолчанию: array() post_author(число) ID автора записи, комментарии которых нужно получить. В запросе используется поле post_author из таблицы записей wp_posts .
По умолчанию: » post_author__in(число/массив) ID авторов записей, комментарии которых нужно получить. Можно указать ID нескольких авторов в массиве. post_author__not_in(число/массив) ID авторов записей, комментарии которых НЕ нужно получать. Можно указать ID нескольких авторов в массиве.
По умолчанию: » post_id(число) ID поста/страницы. Если указать этот параметр, то функция вернет только комментарии к указанному посту или странице.
По умолчанию: » post__in(массив) ID записей, комментарии которых нужно получить.
По умолчанию: » post__not_in(массив) ID записей, комментарии которых нужно исключить.
По умолчанию: » post_status(строка) Статус записи. Будут получены комментарии записей имеющих этот статус. Например publish .
По умолчанию: » post_type(строка) Тип записи. Будут получены комментарии записей имеющих этот тип. Например page .
По умолчанию: » post_name(строка) Название записи (ярлык записи), комментарии которой нужно получить.
По умолчанию: » post_parent(число) ID записи, комментарии дочерних записей которой нужно получить.
По умолчанию: » search(строка) Условия поиска, по которому будут получены комментарии.
По умолчанию: » status(строка)

Вернет комментарии с этим статусом. Может принимать параметры:

  • hold — не одобренные комменты
  • approve — одобренные комменты
  • spam — спам
  • trash — корзина
  • post-trashed — комментарии записей из корзины

Поле из таблицы БД по которому нужно отсортировать вывод. Можно указывать несколько полей через пробел или запятую. Можно указывать метаданные комментария:

Поля основной таблицы (comments):

  • comment_agent
  • comment_approved
  • comment_author
  • comment_author_email
  • comment_author_IP
  • comment_author_url
  • comment_content
  • comment_date
  • comment_date_gmt
  • comment_ID
  • comment_karma
  • comment_parent
  • comment_post_ID
  • comment_type
  • user_id

Метаполя. При этом должен быть установлен параметр $meta_key:

Чтобы сортировать по определенному метаполю из параметра $meta_query , задайте индекс для запроса $meta_query , а тут впишите этот индекс.

Можно указать несколько полей в массиве. При этом в индексе нужно указать название поля, а в значении направление сортировки. Например: array(‘comment_date’=>’ASC’, ‘comment_karma’=>’DESC’) Подробнее читайте здесь.

Можно указать false, array() или ‘none’, чтобы отключить часть запроса ORDER BY.

По умолчанию: ‘comment_date_gmt’

меню order(строка) Порядок сортировки: ASC (123), DESC (321). Игнорируется если в orderby указан ассоциативный массив.
По умолчанию: DESC number(число) Ограничения выводимых комментариев (укажите макс. число). Оставьте пустым, чтобы получить все комментарии.
По умолчанию: » offset(число) Количество комментариев, которые нужно пропустить с начала (сверху результата). Используется для построения SQL LIMIT части запроса. Применяется для создания пагинации.
По умолчанию: 0 no_found_rows(логический) Нужно ли отключить SQL_CALC_FOUND_ROWS в запросе.
По умолчанию: true meta_key(строка) Получить комментарии с указанным мета ключом.
По умолчанию: » meta_value(строка) Получить комментарии с указанным значением метаполя. Должен быть указан параметр meta_key .
По умолчанию: » meta_query(массив) Для создания сложных запросов по метаданным. Заменяет параметры meta_key и meta_value . Работает также как meta_query в WP_Query.
По умолчанию: » date_query(массив) Фильтр по дате комментариев. Смотрите WP_Date_Query
По умолчанию: null fields(строка) Поля которые будут возвращены. Может быть ids — получит только ID комментариев, или пусто — получит все поля.
По умолчанию: » type(строка/массив) Тип комментариев которые нужно получить. Можно указать несколько типов в массиве. Может быть: comment (равно » ), pings (включает pingback и trackback), или любой другой произвольный тип.
По умолчанию: » (comment) type__in(строка/массив) Получить только комментарии с указанным типом.
По умолчанию: » type__not_in(строка/массив) Получить все комментарии, кроме комментариев с указанным типом.
По умолчанию: » user_id(число) Вернет только комментарии указанного пользователя. Аналог параметра author__in .
По умолчанию: » hierarchical(строка/логический)

Нужно ли включить дочерние комментарии в результат. Можно указать следующие параметры:

‘threaded’ — вернет дерево со всеми дочерними комментариям. Дочерние комментарии будут добавлены в свойство $children первого (наивысшего) объекта WP_Comment .

‘flat’ — вернет «плоский» массив, комментарии и их дочерние комментарии.

  • false — дочерние комментарии не будут включены в результат.
  • Параметр игнорируется (устанавливается в false), когда $fields = ‘ids’ или ‘counts’.

    По умолчанию: false

    меню update_comment_meta_cache(логический) Нужно ли сбросить мета-кэш для полученных комментариев?
    По умолчанию: true update_comment_post_cache(логический) Нужно ли сбросить мета-кэш для записей (постов) комментариев?
    По умолчанию: false

    При использовании параметров типа post_* запрос строиться на базе таблицы записей wp_posts . И если например указать post_author__in , то будут получены все комментарии записей, авторами которых являются указанные пользователи.

    А вот, если указать author__in , то будут получены отдельные комментарии указанных пользователей.

    Добавлено в версии 4.4.0. Сортировка по полю comment__in . Параметры: $update_comment_meta_cache , $no_found_rows , $hierarchical , $update_comment_post_cache , $parent__in , $parent__not_in .

    Примеры

    #1. Выведет все комментарии к посту 15 (включая спам и не одобренные).

    #2. Покажет 5 не одобренных комментариев.

    #3. Выведем на экран количество комментариев поста.

    #4. Выведем количество комментариев пользователя.

    #5. Выведем комментарии пользователя.

    #6. Удалим, идущие подряд, одинаковые комментарии.

    Сравниваем автора и контент комментария.

    #7 Получим последние комментарии списком.

    Этот код получает последние 10 комментариев в виде списка UL. Где текст комментария укорочен до 50 символов и является ссылкой на сам комментарий:

    #8 Пример получения дочерних комментариев в виде дерева

    Пример того, как работает параметр ‘hierarchical’ => ‘threaded’ :

    #9 Запрос get_comments() через WP_Comment_Query

    Такой запрос может пригодится когда нам нужен доступ к свойствам объекта WP_Comment_Query . Например, в свойствах мы можем посмотреть запрос, который получается при указанных параметрах запроса.

    #10 Создание пагинации комментариев

    Код ниже показывает, как в WordPress вывести комментарии пользователя со ссылками пагинации. Для этого нужно использовать класс WP_Comment_Query.

    Допустим мы выводим комментарии на странице /user-comments и номер страницы пагинации мы ходим добавлять через GET параметр ?pagenum=10 . Выводить будем по 50 комментариев на странице. Для создания HTML кода ссылок пагинации будем использовать функцию paginate_links().

    В результате получим следующий код пагинации:

    Список изменений

    Код get_comments() get comments WP 5.8.1

    Cвязанные функции

    Комментарии

    Помогите с такой задачей:
    Есть много постов, которые формально делятся на 2 половины по языковому принципу. Плагинами не пользуюсь, все ручками. Хотелось бы выводить на 2 родственных постах один и тот же блок комментов. Допустим пост id 50 это главный пост, а id 51 его близнец. На 51 нужно вывести аяксом комменты с 50, чтоб гугл не индексировал и не считал контент плагиатом. Заранее спасибо за совет.

    Выводить имя и текст комментария.
    а как сделать чтобы он выдавал название постав и текст комментария?

    Источник

    Оцените статью