Главная / Мой вордпресс / WP-CommentNavi постраничная навигация комментариев

WP-CommentNavi постраничная навигация комментариев

Как ни странно, но авторы WordPress пока еще не желают добавлять функцию постраничной навигации в свой движок, поэтому пользователям необходимо искать дополнительные плагины. Конечно, такая функция имеется, но на ограничивается кнопками Назад и Вперед, что не устраивает большинство пользователей.

В версии движка 2.7 появилась функция разбивки комментариев на страницы. Однако старая проблема все же осталась, и нам все еще не обойтись без дополнительных плагинов наподобие WP-CommentNavi. Перед установкой плагина наша навигация выглядела так:

WP-CommentNavi

После установки мы получаем примерно следующее:

WP-CommentNavi2

Если немного поработать с кодом и стилями css, можно получить интересные решения для вашего сайта, но тут уже работает ваша фантазия
Скачайте оригинальный плагин или отыщите русскую версию, после чьего можно начинать установку:

1​ Распакуйте скачанный файл

2​ Скопировать в папку сайта /wp-content/plugins/ папку с плагином wp-commentnavi

3​ В админке сайта перейти на вкладку «Плагины», где нужно активировать плагин

Для того, чтобы интегрировать навигацию в шаблон (например в том, что по умолчанию), нужно отредактировать файл comments.php . Отыщите строчки:

<div class="navigation">
	<div class="alignleft"><?php previous_comments_link() ?></div>
	<div class="alignright"><?php next_comments_link() ?></div>
</div>

Их нужно заменить на:

<?php if(function_exists(wp_commentnavi)) { wp_commentnavi(); } ?>

Плагин по умолчанию не может выдавать страницу со всеми комментариями, поэтому нужно еще раз отредактивровать код. Вставляем этот фрагмент:

 

<?php if(function_exists(wp_commentnavi_all_comments_link)) { wp_commentnavi_all_comments_link(); } ?>

Заметим, что корректная работа плагина будет обеспечена лишь в случае, если код будет вставлен строго после фрагмента The Comment Loop. То есть навигация не может быть выведена непосредственно перед комментариями. Теперь постраничная навигация уже должна работать. Настройки отображаемого текста изменяются через Параметры – CommentNavi. Не хочу повторять то, что я уже писал о плагине WP-PageNavi. Плагины писались одним и тем же автором, поэтому настройки практически одинаковы.

Теперь поговорим о мелких улучшениях, которыми можно усовершенствоватьь плагин. Сначала я решил проблему с выводом ссылки на все комментарии. Я поставил ее вывод в самом плагине. Для этого нужно отредактировать в wp-commentnavi.php следующую строку:

case 1:

на

case 1:
	wp_commentnavi_all_comments_link(Все);

Далее я убрал ссылки на предыдущую и следующие страницы (в настройках плагина заполнение этих полей является обязательным). Удаляем строчки:

previous_comments_link($commentnavi_options[prev_text]);

и

next_comments_link($commentnavi_options[next_text], $max_page);

Кроме того, мне показалось некорректным, что ссылка на самую последнюю страницу выглядит вот так: /name.html/comment-page-2#comments. Хотя она должна быть такой: /name.html#comments .

В результате, мы получим две страницы с абсолютно одинаковым контентом, но с разными ссылками. С точки зрения оптимизации это довольно странное решение, и я решил немного подправить плагин. Я заменил строчку:

echo <a href=".clean_url(get_comments_pagenum_link($i))." class="page" title=".$page_text.">.$page_text.</a>;

на:

if ($end_page != $max_page or $i != $end_page) {
echo <a href=".clean_url(get_comments_pagenum_link($i))." class="page" title=".$page_text.">.$page_text.</a>; }
if ($end_page == $max_page and $i == $end_page) {
$last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $commentnavi_options[last_text]);
echo <a href=".clean_url(get_permalink()).#comments" class="last" title=".$last_page_text.">.$last_page_text.</a>;}

А также:

echo <a href=".clean_url(get_comments_pagenum_link($max_page))." class="last" title=".$last_page_text.">.$last_page_text.</a>;

на

echo <a href=".clean_url(get_permalink()).#comments" class="last" title=".$last_page_text.">.$last_page_text.</a>;

На этом модификация плагина завершена. Однако плагин отлично работает и без этого, так что вы можете ничего не менять. Внешний вид панели навигации можно изменить через стили в commentnavi-css.css.

Автор плагина: Lester GaMerZ Chan
Страница плагина: wordpress.org/extend/plugins/wp-commentnavi/

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*