Меню

Постраничная навигация блога и комментариев. А нужно ли?

Привет всем!

Всю неделю с моим домашним интернетом творилась какая-то беда. То есть, то нет. То, вообще, на целый день отключат. Видимо, у Билайна опять сперли кусок оптоволоконного кабеля… конкуренты. И до сих пор, бардак какой-то твориться, даже некоторые блоги не загружаются.

Нет интернета, соответственно не смог заняться блогом. Зато сколько дел по дому переделал, до которых все руки не доходили, вы бы знали…

Но статья не о том, отсутствие интернета позволило мне решить задачу, с которой возился уже неделю. И для начала, позвольте украсть толику вашего драгоценнейшего внимания.

Прошу вас, друзья, ответить на пару простых вопросов в форме ниже, а дальше… дальше — война план покажет…

 

Еще раз, спасибо, за ваши ответы, а теперь к теме статьи.

Целую неделю занимался фигней установкой и настройкой постраничной навигации… комментариев. А вы думаете, зачем я затеял весь этот опрос? Что бы ваше мнение узнать, по поводу нужности и удобства постраничной навигации комментариев. Тут даже, больше вопрос удобства гостей блога, чем нужности.

Я пока расскажу, как я сделал эту навигацию, а вы подумайте, нужна ли навигация комментариев или нет, хорошо?

Просто постраничная навигация

Сто лет не писал про коды,  последний раз это делал в статье про топ комментаторов (вот тут можно почитать). Так что устраивайтесь по удобнее и приступим..

Начну с самого начала, а именно с простой постраничной навигации, которая есть на каждом блоге. Почему с нее? Потому что, иначе будет не понятно, как получилась постраничная навигация в комментариях.

Для простоты, кончено, можно не задумываясь воспользоваться плагином WP-PageNavi, тем более что он не особо влияет на скорость загрузки. Но мы пойдем другим путем, мы же не ищем легких путей. Да и к тому же, это все-таки плагин, который прописывается в базе данных блога и выгнать его потом оттуда стоит больших усилий.

 


В последнее время, меня все чаще посещают мысли, что влияние установленных плагинов на скорость загрузки сайта сильно преувеличенно.

Судите сами, что такое плагин? Плагин – это один файл или набор файлов, позволяющих прикрутить какую-либо функцию (полезную или не очень) на сайт.

А как заменяют плагин?

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

Я, кстати, знаю не мало блогов (тысячников, в том числе), владельцы которых с кодом не заморачиваются вообще. Все делают с помощью плагинов и ничего, их блоги летают как ураган…

А вы что думаете? Жду в комментариях…


Что-то я отвлекся. Итак, идея замены плагина WP-PageNavi с помощью кода, состоит в следующем:  необходимо произвести замену так, чтобы не пришлось потом очень долго перенастраивать оформление этой навигации после сноса плагина. Но при этом сохранить тот функционал, который нужен. У кого плагин не стоит будет гораздо проще, просто устанавливаем код и все.

Отличное и функциональное решение я нашел на блоге WP-Kama. Поэтому, переписывать и пересказывать не буду. Потому, как считаю, что коды необходимо брать у их автора с оригинального сайта. А то, частенько случаются казусы с неправильным копированием. И потом люди жалуются. что код плохой, так как он не работает.

По ссылке сможете найти подробное описание и кода и всего остального вплоть до стилей CSS.

Так вот, вставляете код в файл functions.php, а потом в файлах  index.php, archive.php, search.php вставляете вот такой код:

< ?php if (function_exists('kama_pagenavi')) kama_pagenavi(); ?>

Сразу под строкой <?php endwhile; ?>

Как на скриншоте

Постраничная навигация

Вообще, решения Тимура отличаются оригинальностью, простотой и изяществом. Да и пишет так, что понятно любому новичку.


Маленькая ремарка.

Друзья мои, прежде вы начнете что-то делать и как-то изменять файлы, хочу вам напомнить:

Во-первых, не забудьте перед изменением чего-либо сделать бэкап блога или сохранить исходные файлы.

Во-вторых, вы должны понимать, что темы оформления у всех разные и соответственно код в файлах темы может быть написан по-разному, что приведет к некоторым затруднениям с установкой кода. Этого не надо бояться, все гораздо проще, чем кажется.


Ну что ж, с установкой просто навигации разобрались, теперь приступим к  комментариям.

к меню

Навигация в комментариях

Оказывается постраничная навигация в комментариях реализована в WordPress еще с версии 2.7. Поэтому, все что требуется – это включить ее в настройках блога.

Идем Панель администрирования – Параметры – Обсуждение и ставим галочку в строке Разбивать комментарии верхнего уровня на страницы.Постраничная навигация

Обратите внимание, ключевые слова в этом названии – это КОММЕНТАРИИ ВЕРХНЕГО УРОВНЯ.

Я долго пытался вкурить, почему у меня не отображается навигация. Потом до меня дошло, что считаются только те комментарии, которые находятся в самом начале, то есть в верхнем уровне.

Постраничная навигация

Поэтому, когда в настройках по умолчанию стоит отображать 50 штук комментариев, то естественно, что навигация не будет отображаться. Так что, для отображения страниц необходимо ставить не более 10 штук комментариев., а если у вас на блоге не много комментариев, то и вовсе штуки 3-4.

С настройками закончили, не забываем сохранить изменения и идем смотреть что получилось.

А получилось не очень удобно (это еще мягко говоря). Проявляться просто две ссылки – следующие комментарии и предыдущие комментарии.

Тут, вообще, постраничная навигация вызывает сильные сомнения, а уж такая ни в какие ворота не лезет. Потому будем все менять.

Есть вариант плагина для навигации, очень не плохой, но о нем я расскажу ниже.

А сейчас нам потребуется код, который я нашел на блоге небезызвестного веб-мастера Димокса. Но при использовании этого кода у меня возникла проблема кривого отображения стилей страниц. Все номера съезжали вкривь и вкось, так что я позволил немного вмешаться в код Димокса и вот что у меня получилось:

function wp_corenavi() {
global $wp_query;
$pages = '';
$max = $wp_query->max_num_pages;
if (!$current = get_query_var('paged')) $current = 1;
$a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
$a['total'] = $max;
$a['current'] = $current;

$total = 1; //1 - выводить текст "Страница N из N", 0 - не выводить
$a['mid_size'] = 3; //сколько ссылок показывать слева и справа от текущей
$a['end_size'] = 1; //сколько ссылок показывать в начале и в конце
$a['prev_text'] = '&laquo;'; //текст ссылки "Предыдущая страница"
$a['next_text'] = '&raquo;'; //текст ссылки "Следующая страница"

if ($max > 1) echo '<div class="wp-pagenavi">';
if ($total == 1 && $max > 1) $pages = '<span class="pages">Страница ' . $current . ' из ' . $max . '</span>'."\r\n";
echo $pages . paginate_links($a);
if ($max > 1) echo '</div>';
}

Сам код я не менял, а только изменил название контейнера div. Для того, чтобы не возиться со стилями.

Я же не зря начал статью с рассказа о навигации блога. Я вставил названия контейнера из кода Тимура, что позволило мне больше не задумываться о оформлении кнопок страниц.

При установке навигации оформление стилей кнопок страниц автоматически берется из кода для простой постраничной навигации.

Постраничная навигация

Что-то я сегодня косноязычен, если не понятно, то спрашивайте в комментариях.

А дальше, все как обычно, вышеуказанный код вставляем в файл functions.php, а вот такой код:

< ?php wp_list_comments(); ?>< ?php if(function_exists('wp_comments_corenavi')) wp_comments_corenavi(); ?>

необходимо вставить в файле comments.php сразу после строки wp_list_comments()

Постраничная навигация

Таким образом, кнопки навигации появятся на формой комментариев. Если вы хотите чтобы кнопки были видны и в начале комментариев, то код в файле comments.php вставьте перед строкой wp_list_comments()

Вся прелесть методы в том, что не понадобиться возиться со стилями оформления. Один раз настроили при установке стилей навигации постов и при установке навигации комментариев стили оформления настроятся автоматом.

Постраничная навигация


Вообще, все эти вставки кода надо проводить методом тыка, так вставили – не работает, а через строчку – работает. Как говориться, метод научного тыка  — рулит!


Вот и все. Осталось только подвести некоторые итоги и послушать музыку.

к меню

Выводы

Всю навигацию на блоге статей и комментариев возможно реализовать двумя способами: плагинами и кодом.

Плагин для установки постраничной навигации — WP-pagenavi.

Плагин для постраничной навигации комментариев — WP-CommentNavi Вот туточки можно почитать про подробную настройку этого плагина.

Достоинства и недостатки того и другого способов вы знаете сами.

Хотя на самом деле плагин от кода отличается не намного, а устанавливать и настраивать гораздо проще. Но и код имеет свои преимущества…

Что и как ставить решайте сами, а вот имеет ли смысл эта навигация, это вопрос который хотелось бы обсудить. Так что жду вас в комментариях. И не забывайте про опрос в начале статьи.

Засим, позвольте откланяться. Удачи всем!

Подписывайтесь на новости, что бы не пропустить.

Еще раз, всем удачи и пока! Увидимся в комментариях.

Всегда ваш, Абрамович Артем.

Поддержи проект лайком
133 комментария
  1. Fil / Ответить
    • Юлия Qween / Ответить
    • Юлия Qween / Ответить
      • Fil / Ответить
        • Абрамович Артем / Ответить
          • Fil / Ответить
            • Абрамович Артем /
            • Fil /
            • Абрамович Артем /
            • Fil /
            • Юлия Qween /
            • Fil /
    • Абрамович Артем / Ответить
      • Fil / Ответить
        • Абрамович Артем / Ответить
          • Fil / Ответить
            • Абрамович Артем /
            • Fil /
  2. Дмитрий / Ответить
    • Абрамович Артем / Ответить
      • Fil / Ответить
      • Сергей / Ответить
  3. Галина Грабовая / Ответить
  4. Юлия Qween / Ответить
    • Fil / Ответить
      • Юлия Qween / Ответить
        • Fil / Ответить
          • Юлия Qween / Ответить
            • Fil /
            • Абрамович Артем /
            • Юлия Qween /
            • Fil /
    • Абрамович Артем / Ответить
      • Юлия Qween / Ответить
      • Юлия Qween / Ответить
        • Абрамович Артем / Ответить
          • Юлия Qween / Ответить
            • Абрамович Артем /
            • Юлия Qween /
    • Абрамович Артем / Ответить
      • Юлия Qween / Ответить
  5. Юлия Qween / Ответить
  6. Татьяна Саксон / Ответить
  7. Сергей / Ответить
    • Fil / Ответить
    • Абрамович Артем / Ответить
      • Fil / Ответить
      • Сергей / Ответить
        • Абрамович Артем / Ответить
      • Fil / Ответить
        • Абрамович Артем / Ответить
  8. Елена Олейникова / Ответить
    • Абрамович Артем / Ответить
    • Юлия Qween / Ответить
      • Абрамович Артем / Ответить
        • Юлия Qween / Ответить
          • Елена Олейникова / Ответить
  9. дмитрий / Ответить
    • Абрамович Артем / Ответить
      • Дмитрий / Ответить
        • Абрамович Артем / Ответить
  10. Fil / Ответить
    • Абрамович Артем / Ответить
      • Fil / Ответить
        • Абрамович Артем / Ответить
  11. Миша / Ответить
    • Абрамович Артем / Ответить
  12. Fil / Ответить
    • Абрамович Артем / Ответить
      • Fil / Ответить
      • Абрамович Артем / Ответить
        • Fil / Ответить
          • Абрамович Артем / Ответить
            • Fil /
            • Абрамович Артем /
  13. ushi / Ответить
    • Абрамович Артем / Ответить
      • ushi / Ответить
        • ushi / Ответить
          • Абрамович Артем / Ответить
          • Абрамович Артем / Ответить
            • ushi /
            • Абрамович Артем /
  14. ushi / Ответить
    • Абрамович Артем / Ответить
      • ushi / Ответить
        • Абрамович Артем / Ответить
          • ushi / Ответить
            • Абрамович Артем /
  15. Fil / Ответить
    • Абрамович Артем / Ответить
      • Fil / Ответить
        • Абрамович Артем / Ответить
  16. ushi / Ответить
    • Абрамович Артем / Ответить
  17. Тамара / Ответить
  18. Юлия Qween / Ответить
    • Fil / Ответить
  19. Людмила Винокурова / Ответить
    • Абрамович Артем / Ответить
      • Людмила Винокурова / Ответить
  20. Абрамович Артем / Ответить
    • Людмила Винокурова / Ответить
      • Абрамович Артем / Ответить
        • Людмила Винокурова / Ответить
          • Абрамович Артем / Ответить
            • Юлия Qween /
            • Абрамович Артем /
  21. Андрей / Ответить
    • Абрамович Артем / Ответить
  22. Тамара / Ответить
    • Абрамович Артем / Ответить
  23. Евгения Куварина / Ответить
    • Абрамович Артем / Ответить
      • Людмила Винокурова / Ответить
        • Абрамович Артем / Ответить
  24. Василий / Ответить
    • Абрамович Артем / Ответить
      • Людмила Винокурова / Ответить
  25. Елена Олейникова / Ответить
    • Абрамович Артем / Ответить
      • Елена Олейникова / Ответить
        • Елена Олейникова / Ответить
          • Абрамович Артем / Ответить
  26. Тамара / Ответить
  27. Игорь / Ответить
    • Абрамович Артем / Ответить
  28. Shenkurskii / Ответить
    • Абрамович Артем / Ответить
  29. Надежда / Ответить
    • Абрамович Артем / Ответить

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Подписка на новости

Подписка на новости

Хотите первым узнавать о новостях? Тогда подписывайтесь!

Спасибо за подписку! Теперь вам надо подтвердить ее.