Получение Пагинации Комментариев в WordPress
Функция get_the_comments_pagination() помогает создать навигацию для перехода к предыдущему или следующему набору комментариев на странице. Это полезно, когда у вас много комментариев, и вы хотите разделить их на страницы.
Возвращаемое значение
Эта функция возвращает строку, содержащую HTML-код для пагинации (перелистывания страниц).
Использование
Синтаксис
get_the_comments_pagination( $args );
Параметры
$args(array) — Опциональный массив аргументов для пагинации.screen_reader_text(string) — Текст для скрин-ридеров (программ для чтения с экрана). По умолчанию: 'Пагинация комментариев'.aria_label(string) — Атрибут ARIA для навигационного элемента. По умолчанию: 'Пагинация комментариев'.class(string) — Пользовательский класс для навигационного элемента. По умолчанию: 'comments-pagination'.
Пример
Допустим, у вас есть пост с именем "postname", в котором 30 комментариев, и вы хотите показывать по 10 комментариев на странице. Используйте следующий код для отображения пагинации:
Или можете использовать упрощённую функцию для быстрого отображения:
Результат
Вы получите следующий HTML-код:
Важные замечания
- Функция
paginate_comments_links()используется внутриget_the_comments_pagination()для создания ссылок на страницы с комментариями. - Убедитесь, что вы добавили необходимые параметры, если хотите изменить поведение функции.
Примечания о функционале
- С версии 4.4.0 функция была введена в WordPress.
- В версии 5.3.0 был добавлен параметр
aria_label. - В версии 5.5.0 добавлен параметр
class.
Код функции
Вы можете ознакомиться с реализацией функции get_the_comments_pagination() ниже:
function get_the_comments_pagination( $args = array() ) {
$navigation = '';
// Убедитесь, что элемент навигации имеет атрибут aria-label: использование текста для скрин-ридеров как запасного варианта.
if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
$args['aria_label'] = $args['screen_reader_text'];
}
$args = wp_parse_args(
$args,
array(
'screen_reader_text' => __( 'Пагинация комментариев' ),
'aria_label' => __( 'Пагинация комментариев' ),
'class' => 'comments-pagination',
)
);
$args['echo'] = false;
// Убедитесь, что мы получаем строку в ответе. Plain - следующее лучшее решение.
if ( isset( $args['type'] ) && 'array' === $args['type'] ) {
$args['type'] = 'plain';
}
$links = paginate_comments_links( $args );
if ( $links ) {
$navigation = _navigation_markup( $links, $args['class'], $args['screen_reader_text'], $args['aria_label'] );
}
return $navigation;
}
Теперь вы знаете, как использовать функцию get_the_comments_pagination() в WordPress, чтобы улучшить навигацию по комментариям на вашем сайте.