Функция get_comment_pages_count()
подсчитывает общее количество страниц комментариев для конкретного поста, принимая во внимание параметры, такие как количество комментариев на страницу и древовидность комментариев.
get_comment_pages_count( WP_Comment[] $comments = null, int $per_page = null, bool $threaded = null ): int
Параметры
- $comments(WP_Comment[]) — Опциональный. Массив объектов комментариев. Если не указано, используется глобальная переменная
$wp_query->comments
.- По умолчанию:
null
- По умолчанию:
- $per_page(int) — Опциональный. Количество комментариев на странице. Если не указано, используется значение из переменной запроса
comments_per_page
, опции с тем же именем или значение1
.- По умолчанию:
null
- По умолчанию:
- $threaded(bool) — Опциональный. Определяет, будут ли комментарии выводиться древовидно или плоско. Если не указано, используется значение из настройки
thread_comments
.- По умолчанию:
null
- По умолчанию:
Возвращаемое значение
- Число — Количество страниц с комментариями.
Пример 1: Получение количества страниц комментариев по умолчанию
Этот пример показывает, как использовать функцию внутри цикла комментариев, когда все параметры по умолчанию берутся из настроек WordPress:
$pages = get_comment_pages_count();
echo 'Количество страниц комментариев: ' . $pages;
Пример 2: Использование произвольных параметров
Если вам нужно задать свои параметры для количества комментариев на странице или древовидности, используйте следующие примеры:
Вывод 25 комментариев на страницу:
$pages = get_comment_pages_count( null, 25 );
echo 'Количество страниц комментариев: ' . $pages;
Отключение древовидного отображения комментариев:
$pages = get_comment_pages_count( null, null, false ); echo ‘Количество страниц комментариев без древовидности: ‘ . $pages;
Вывод 10 комментариев на страницу с учетом древовидности:
$pages = get_comment_pages_count( null, 10, true );
echo 'Количество страниц древовидных комментариев: ' . $pages;
Пример 3: Использование функции за пределами цикла комментариев
Если необходимо использовать функцию вне цикла комментариев, вам нужно передать массив комментариев вручную. Это можно сделать с помощью класса WP_Comment_Query
. Пример получения комментариев и подсчета страниц:
$args = array(
'post_id' => 123, // ID поста, комментарии которого вы хотите получить
'status' => 'approve' // Только утвержденные комментарии
);
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );
$pages = get_comment_pages_count( $comments );
echo 'Количество страниц комментариев: ' . $pages;
Примечания
- Функция в основном используется для определения, сколько страниц потребуется для отображения всех комментариев на посте.
- По умолчанию, параметры, такие как количество комментариев на странице и включение древовидности, берутся из настроек WordPress.
Заключение
Функция get_comment_pages_count()
— это мощный инструмент для управления пагинацией комментариев. Она позволяет гибко настраивать количество комментариев на страницу и контролировать древовидность комментариев.