## Функция paginate_comments_links()
### Описание
Функция paginate_comments_links() отображает или возвращает ссылки для страниц комментариев текущей записи.
### Используется в
Эта функция используется в get_the_comments_pagination().
### Возвращаемое значение
Функция может вернуть:
- null, если аргумент echo установлен в true и type не является массивом, или если запрос не относится к существующей записи.
- Строку или массив с разметкой для ссылок на страницы комментариев, в зависимости от аргумента type.
### Использование функции
Чтобы использовать функцию, вы можете написать так:
```php
paginate_comments_links( $args );
Аргументы
$args(строка|массив): Опциональные параметры. По умолчанию — пустой массив. Более подробно о возможных параметрах можно посмотреть в документации функцииpaginate_links().
Примеры
Пример 1: Навигация по страницам комментариев
Если в настройках WordPress установлено "разделить комментарии на страницы", вы мо��ете использовать следующий код, чтобы отобразить навигацию:
В итоге вы получите код, который может выглядеть так:
Пример 2: Изменение текста ссылок "Следующая/Предыдущая страница"
Чтобы изменить текст ссылок "следующая" и "предыдущая", вы можете передать аргументы prev_text и next_text:
paginate_comments_links( 'prev_text=Назад&next_text=Вперед' );
Если вы хотите использовать специальные HTML-символы в текстах ссылок, передайте аргументы как массив:
paginate_comments_links( [
'prev_text' => '«',
'next_text' => '»'
] );
Примечания
- Обратите внимание на функцию
paginate_links(), подробнее о ней можно узнать в соответствующей документации. - Глобальная переменная:
$wp_rewrite. Это компонент переписывания в WordPress.
Изменения
Функция была введена в версии WordPress 2.7.0.
Код функции
В WordPress, функция paginate_comments_links находится в файле wp-includes/link-template.php:
function paginate_comments_links( $args = array() ) {
global $wp_rewrite;
if ( ! is_singular() ) {
return;
}
$page = get_query_var( 'cpage' );
if ( ! $page ) {
$page = 1;
}
$max_page = get_comment_pages_count();
$defaults = array(
'base' => add_query_arg( 'cpage', '%#%' ),
'format' => '',
'total' => $max_page,
'current' => $page,
'echo' => true,
'type' => 'plain',
'add_fragment' => '#comments',
);
if ( $wp_rewrite->using_permalinks() ) {
$defaults['base'] = user_trailingslashit( trailingslashit( get_permalink() ) . $wp_rewrite->comments_pagination_base . '-%#%', 'commentpaged' );
}
$args = wp_parse_args( $args, $defaults );
$page_links = paginate_links( $args );
if ( $args['echo'] && 'array' !== $args['type'] ) {
echo $page_links;
} else {
return $page_links;
}
}
Связанные функции
get_comment_pages_count()get_comments_pagenum_link()get_next_comments_link()get_page_of_comment()get_previous_comments_link()- Другие функции, связанные с комментариями и их навигацией.