Установив новый шаблон (seoguru) себе на блог, мне пришлось ввести постраничный вывод комментариев. Так как для некоторых статей их уже более 1000. И унылая ссылка на предыдущие комментарии меня не устраивала.
Включается пагинация комментариев в админке -> Настройки > Обсуждение. Там же можно задать количество комментариев на страницу.
Функция
За вывод страниц комментариев отвечает функция paginate_comments_links()
Находится она в файле: /wp-includes/link-template.php
Рекомендуемые параметры
[php]<?php paginate_comments_links($args, array(
‘base’ => add_query_arg( ‘cpage’, ‘%#%’ ),
‘format’ => »,
‘show_all’ => false,
‘type’ => ‘plain’,
‘total’ => $max_page,
‘current’ => $page,
‘echo’ => true,
‘next_text’ => ‘Next’,
‘prev_text’ => ‘Previous’,
‘add_fragment’ => ‘#comments’ )); ?>
[/php]
из них я использовал только ‘next_text’ => ‘Next’, ‘prev_text’ => ‘Previous’,
Использование по умолчанию
[php]<?php paginate_comments_links(); ?>[/php]
Оформление страниц навигации через CSS
[css]
.page-numbers /* номера страниц */
.current /* текущая страница */
.next /* ссылка на следующую страницу */
.prev /* ссылка на предыдущую страницу */
[/css]
За вывод навигации страниц отвечает файл comments.php находится в папке шаблона.
Меняем шаблон
В моем случаи код в файле comments.php имел такой вид
[php]
<div class="navigation">
<div class="alignleft"><?php previous_comments_link() ?></div>
<div class="alignright"><?php next_comments_link() ?></div>
</div>
[/php]
заменил его на
[php]
<div class="navigation">
<div class="alignleft"></div>
<div class="alignright"><?php paginate_comments_links( array(‘prev_text’ => ‘« Ранее’, ‘next_text’ => ‘Далее »’) ); ?></div>
</div>
[/php]
Записал себе в виде заметки. Еще не раз придется вернуться к ней.