paginate_comments_links()
Выводит список ссылок на страницы комментариев (ссылки пагинации), текущего поста.
С версии 2.7. WordPress разработчиками был упрощен шаблон комментариев (файл comments.php), чтобы было проще создавать и редактировать отображение комментариев. Одним из таких улучшений стала возможность разделять комментарии на страницы и теперь посетителям не нужно подгружать сотни комментариев на одной странице, а можно сделать постраничную навигацию комментариев.
Включить разделение комментариев на несколько страниц (пагинацию комментариев) можно на странице админ-панели Настройки > Обсуждение
.
После того, как разделение включено в системе, ссылки навигации по страницам комментариев можно вывести таким кодом:
<?php paginate_comments_links(); ?>
Аналогом такой пагинации являются функции next_comments_link() и previous_comments_link(), которые выводят ссылки на следующую и предыдущую страницу комментариев.
Почти такая же функция-аналог: the_comments_pagination()
Хуков нет.
Возвращает
null|Строку|Массив
.
- Ничего - если параметр
echo = true
иtype
неarray
. Или когда функция вызвана не на странице поста (т.е. комментов у страницы быть не может). - HTML ссылок пагинации при
echo = false
. - Массив ссылок пагинации при
type = array|plain|list
.
Шаблон использования
paginate_comments_links( [ 'base' => add_query_arg( 'cpage', '%#%' ), 'format' => null, 'total' => $max_page, 'current' => $page, 'echo' => true, 'add_fragment' => '#comments', ] );
Использование
<?php paginate_comments_links( $args ) ?>
- $args(строка/массив)
Аргументы на основе которых будет получен результат.
Описание параметров смотрите в функции paginate_links(), она является ядром этой функции.
По умолчанию: предустановки
Примеры
#1 Вывод постраничной навигации комментариев
Если в настройках установлено "разделять комментарии на страницы", то в шаблоне используется такой код чтобы вывести навигацию:
<div class="navigation"><?php paginate_comments_links( $args ) ?></div>
В итоге мы получим подобный код:
<div class="navigation"> <a class="prev page-numbers" href="/id_140/comment-page-3#comments">«««</a> <a class='page-numbers' href='/id_140/comment-page-1#comments'>1</a> <a class='page-numbers' href='/id_140/comment-page-2#comments'>2</a> <a class='page-numbers' href='/id_140/comment-page-3#comments'>3</a> <span class='page-numbers current'>4</span> </div>
#2 Изменение текстов ссылок "следующая/предыдущая страница"
Чтобы изменить тексты ссылок следующая/предыдущая страница, функции нужно передать аргументы prev_text
и next_text
paginate_comments_links('prev_text=back&next_text=forward')
Если в текстах ссылок нужно использовать специальные html символы (html сущности), то аргументы нужно передавать через массив:
paginate_comments_links( [ 'prev_text' => '«', 'next_text' => '»' ] );
Заметки
- Смотрите: paginate_links()
- Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.
Список изменений
С версии 2.7.0 | Введена. |