wp_list_comments()

Отображает список комментариев
Функция WordPress
INT 2.7.0
WordPress Icon

Описание функции

Функция wp_list_comments() используется для отображения списка комментариев на странице WordPress. Она выводит HTML-разметку для каждого комментария, включая аватар, имя автора, текст комментария и дату.

Функция позволяет настроить формат вывода комментариев, используя различные параметры.

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

wp_list_comments( string|array $args = array(), WP_Comment[] $comments = null ): void|string

Функция wp_list_comments() принимает два параметра: $args и $comments. Параметр $args определяет настройки вывода комментариев, а параметр $comments содержит массив объектов WP_Comment, который представляет собой список комментариев, которые нужно вывести.

  • $args (string|array) — Необязательный. Параметры форматирования. Может быть строкой или массивом. По умолчанию пустой массив.
  • walker (object) — Экземпляр класса Walker для списка комментариев. По умолчанию null.
  • max_depth (int) — Максимальная глубина комментариев. По умолчанию null.
  • style (string) — Стиль упорядочивания списка. Принимает значения ‘ul’, ‘ol’ или ‘div’. ‘div’ не добавляет дополнительную разметку списка. По умолчанию ‘ul’.
  • callback (callable) — Функция обратного вызова для использования. По умолчанию null.
  • end-callback (callable) — Функция обратного вызова для использования в конце. По умолчанию null.
  • type (string) — Тип комментариев для вывода. Принимает значения ‘all’, ‘comment’, ‘pingback’, ‘trackback’, ‘pings’. По умолчанию ‘all’.
  • page (int) — Идентификатор страницы для вывода комментариев. По умолчанию null.
  • per_page (int) — Количество комментариев для вывода на страницу. По умолчанию null.
  • avatar_size (int) — Размер аватара (высота и ширина). По умолчанию 32.
  • reverse_top_level (bool) — Порядок отображения комментариев верхнего уровня. Если true, то новые комментарии будут отображаться первыми. По умолчанию null.
  • reverse_children (bool) — Перевернуть порядок дочерних комментариев в списке. По умолчанию null.
  • format (string) — Формат вывода списка комментариев. Принимает значения ‘html5’, ‘xhtml’. Если тема поддерживает, то по умолчанию ‘html5’.
  • short_ping (bool) — Выводить ли короткие пинги. По умолчанию false.
  • echo (bool) — Выводить результат или возвращать его. По умолчанию true.

Функция возвращает HTML-разметку списка комментариев, если параметр echo равен false, или если нет комментариев для вывода. В противном случае возвращается void.

<?php
$args = array(
  'walker'            => null,
  'max_depth'         => '',
  'style'             => 'ul',
  'callback'          => null,
  'end-callback'      => null,
  'type'              => 'all',
  'page'              => '',
  'per_page'          => '',
  'avatar_size'       => 32,
  'reverse_top_level' => null,
  'reverse_children'  => null,
  'format'            => 'html5',
  'short_ping'        => false,
  'echo'              => true
);
wp_list_comments( $args );
?>

В этом примере кода используется функция wp_list_comments() с полным набором параметров. Она выводит список комментариев с использованием настроек, указанных в массиве $args.

Примеры использования

Вывод списка комментариев


$args = array(
    'style' => 'ol',
    'avatar_size' => 50,
    'reverse_top_level' => true
);
wp_list_comments($args);

В данном примере используется функция wp_list_comments() для вывода списка комментариев в упорядоченном списке (ol) с размером аватара 50 пикселей и сортировкой комментариев от новых к старым.

Форматирование списка комментариев


$args = array(
    'style' => 'div',
    'format' => 'xhtml'
);
wp_list_comments($args);

В данном примере используется функция wp_list_comments() для вывода списка комментариев без дополнительной разметки (div) и с форматированием в XHTML.

Использование пользовательского шаблона для списка комментариев


$args = array(
    'style' => 'ul',
    'walker' => new My_Custom_Walker_Comment()
);
wp_list_comments($args);

В данном примере используется функция wp_list_comments() для вывода списка комментариев в неупорядоченном списке (ul) с использованием пользовательского шаблона, определенного в классе My_Custom_Walker_Comment.

Настройка порядка отображения комментариев


$args = array(
    'style' => 'ul',
    'reverse_top_level' => true,
    'reverse_children' => true
);
wp_list_comments($args);

В данном примере используется функция wp_list_comments() для вывода списка комментариев в неупорядоченном списке (ul) с сортировкой комментариев от новых к старым и обратной сортировкой дочерних комментариев.

Вывод комментариев определенного типа


$args = array(
    'style' => 'ul',
    'type' => 'comment'
);
wp_list_comments($args);

В данном примере используется функция wp_list_comments() для вывода списка только обычных комментариев (type = 'comment') в неупорядоченном списке (ul).

Вопросы и ответы

Как изменить стиль списка комментариев?

Для изменения стиля списка комментариев в функции wp_list_comments() можно использовать параметр style. По умолчанию стиль установлен как ‘ul’, что означает, что комментарии будут выводиться в виде неупорядоченного списка. Вы также можете использовать ‘ol’ для вывода комментариев в виде упорядоченного списка или ‘div’ для вывода комментариев без дополнительной разметки списка.

Как настроить максимальную глубину вложенности комментариев?

Для настройки максимальной глубины вложенности комментариев в функции wp_list_comments() используется параметр max_depth. По умолчанию глубина вложенности не ограничена. Вы можете установить любое целое число в качестве значения параметра, чтобы ограничить глубину вложенности комментариев.

Как изменить порядок отображения комментариев?

Порядок отображения комментариев в функции wp_list_comments() можно изменить с помощью параметров reverse_top_level и reverse_children. По умолчанию оба параметра установлены как null, что означает, что комментарии будут выводиться в порядке, заданном в базе данных. Вы можете установить true для параметра reverse_top_level, чтобы отображать новейшие комментарии первыми, и true для параметра reverse_children, чтобы отображать дочерние комментарии в обратном порядке.

Примеры кода


// Вывод комментариев в виде неупорядоченного списка
$args = array(
    'style' => 'ul',
);
wp_list_comments( $args );

// Вывод комментариев в виде упорядоченного списка
$args = array(
    'style' => 'ol',
);
wp_list_comments( $args );

// Вывод комментариев без дополнительной разметки списка
$args = array(
    'style' => 'div',
);
wp_list_comments( $args );

// Ограничение глубины вложенности комментариев до 3
$args = array(
    'max_depth' => 3,
);
wp_list_comments( $args );

// Вывод новейших комментариев первыми
$args = array(
    'reverse_top_level' => true,
);
wp_list_comments( $args );

// Вывод дочерних комментариев в обратном порядке
$args = array(
    'reverse_children' => true,
);
wp_list_comments( $args );

Как изменить количество комментариев на странице?

Для изменения количества комментариев на странице можно использовать параметр 'per_page' функции wp_list_comments(). По умолчанию значение этого параметра равно 0, что означает вывод всех комментариев на одной странице.

Пример кода:


$args = array(
    'per_page' => 10 // Вывести 10 комментариев на странице
);
wp_list_comments($args);

Как изменить размер аватара комментатора?

Для изменения размера аватара комментатора можно использовать параметр 'avatar_size' функции wp_list_comments(). По умолчанию значение этого параметра равно 32 пикселя.

Пример кода:


$args = array(
    'avatar_size' => 50 // Установить размер аватара 50 пикселей
);
wp_list_comments($args);

Как изменить формат списка комментариев?

Для изменения формата списка комментариев можно использовать параметр 'style' функции wp_list_comments(). По умолчанию значение этого параметра равно ‘ul’, что означает использование маркированного списка.

Пример кода:


$args = array(
    'style' => 'ol' // Использовать нумерованный список
);
wp_list_comments($args);

Как отобразить только определенный тип комментариев?

Для отображения только определенного типа комментариев в функции wp_list_comments() необходимо использовать параметр type. Параметр type принимает следующие значения: ‘all’ (все комментарии), ‘comment’ (обычные комментарии), ‘pingback’ (пингбеки), ‘trackback’ (трекбеки) и ‘pings’ (пинги).


$args = array(
    'type' => 'comment'
);
wp_list_comments( $args );

Как изменить порядок отображения дочерних комментариев?

По умолчанию функция wp_list_comments() отображает дочерние комментарии в порядке их добавления. С помощью параметра reverse_children можно изменить порядок отображения дочерних комментариев.


$args = array(
    'reverse_children' => true
);
wp_list_comments( $args );

Как настроить вывод коротких пингов вместо полных комментариев?

Для настройки вывода коротких пингов вместо полных комментариев в функции wp_list_comments() необходимо использовать параметр short_ping. Параметр short_ping принимает значение true для вывода коротких пингов и false для вывода полных комментариев.


$args = array(
    'short_ping' => true
);
wp_list_comments( $args );

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

Связанные элементы

  • Функция get_comment(): возвращает объект комментария по его ID.
  • Функция get_comments(): возвращает массив объектов комментариев, соответствующих заданным параметрам.
  • Функция get_comments_number(): возвращает количество комментариев для указанного поста.
  • Функция wp_allow_comment(): проверяет, разрешено ли добавление комментария для указанного поста.
  • Функция wp_delete_comment(): удаляет комментарий из базы данных.
  • Функция wp_filter_comment(): фильтрует содержимое комментария перед его отображением.
  • Функция wp_get_comment_status(): возвращает статус комментария (одобрен, ожидает модерации и т.д.).
  • Функция wp_insert_comment(): добавляет новый комментарий в базу данных.
  • Функция wp_update_comment(): обновляет информацию о комментарии в базе данных.
  • Хук preprocess_comment: вызывается перед сохранением комментария в базу данных.
Обсуждение