Привет всем подписчикам и посетителям моего блога.
Сегодняшний пост посвящен постраничной навигации.
Как установить на блог постраничную навигацию?
Это можно сделать с помощью плагина, описанной в этой СТАТЬЕ
Но в этой статье мы будем устанавливать без плагина, с помощью скрипта.
Не переживайте, этот скрипт подходит любому блогу
Ну что, приступим?
Содержание статьи:
Прежде всего, нам надо удалить старую версию постраничной навигации и сохранить файлы, которые будем редактировать.
Создаем постраничную навигацию
В Админке, находим Редактор и открываем файл functions.php в самом низу перед тегом ?>; добавляем код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function wp_corenavi() { global $wp_query, $wp_rewrite; $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 - выводить текст "Страница N из N", 0 - не выводить $a['mid_size'] = 3; //какое число ссылок показывать слева и справа от текущей $a['end_size'] = 1; //какое число ссылок показывать в начале и в конце $a['prev_text'] = '«'; //название ссылки "Предыдущая страница" $a['next_text'] = '»'; //название ссылки "Следующая страница" if ($max > 1) echo '<div>'; if ($total == 1 && $max > 1) $pages = '<span>Страница ' . $current . ' из ' . $max . '</span>'."\r\n"; echo $pages . paginate_links($a); if ($max > 1) echo '</div>'; } |
Здесь вы можете произвести изменения, как вам нравится.Теперь сохраняемся и в Редакторе открываем файл index.php и ищем строки:
<!?php posts_nav_link ('<<', ('< предыдущие записи'), ('новые записи >')); ?>;
Или такие строки:
<?php if (function_exists ('wp_pagenavi')) { wp_pagenavi (); } ?>
Все зависит от темы вашего блога.И заменяете ее на эту строчку:
<?php if (function_exists ('wp_corenavi')) wp_corenavi (); ?>
В зависимости от вашей темы, заменить строчки, нужно будет и в файлах archive.php, category.php и search.php.
Сохраняемся и смотрим что у нас получилось.На картинке ниже показано навигация выглядит не очень.
Делаем красивую постраничную навигацию
Чтобы облагородить навигацию, нам нужно зайти в Админ панель и в Редакторе найти файл style.css
Здесь в самом низу, нужно вставить вот этот код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
.wp-pagenavi { clear: both; } .wp-pagenavi a, .wp-pagenavi span { text-decoration: none; border: 1px solid #BFBFBF; padding: 3px 5px; margin: 2px; } .wp-pagenavi a:hover, .wp-pagenavi span.current { border-color: #000; } .wp-pagenavi span.current { font-weight: bold; } |
Сохраняемся и смотрим что у нас получилось.
Если вы хотите, можете по шаманить в стилях.
На этом все.
С Уважением, Игорь Александрович
Привет Игорь.Интересная статья,я согласна что лишний плагин,тормозит загрузку блога.
Но мне кажется,со скриптом сложней.
Соня,каждому свое.Я понимаю что с плагином легче.
Если что то не понятно,я могу помочь,обращайтесь.
Не вижу смысла, лично я считаю лучше дольше уделить этому время и сделать кодом чем вешать различные плагины которые легко можно сменить кодом. Лично я противник плагинов
Чем сложней? У плагинов просто ужасный вид навигации а вот кодом если делать можно сделать любой какой только душе угодно внешний вид. Это красиво и не нужны лишние плагины
Я тоже считаю, что чем меньше плагинов — тем лучше. И если есть возможность установить скрипт вместо плагина, то так и делаю. Хотя многие утверждают, что плагины — это такие же скрипты, и действие на блог тех и других одинаково.
У каждого свое мнение.
Здравствуйте, Игорь! У меня на сайте вначале постраничная навигация работала хорошо, но потом резко пропала, не помню уже какой плагин стоял.А тут с помощью скрипта,все заработало. Спасибо большое.
Рад что помог.
Обращаетесь,если что то не понятно.
К сожалению Игорь в index.php нет вышеуказанной строки, или я её просто не вижу?
additional check in page.php
else: get_template_part ('content/content', 'index');
endif;
get_footer ();
?>
Максим,а что у вас за тема ?
Тема Parabola
Максим,вышлите мне на почту файл index.php,вашей темы.
У меня тоже Parabola и проблемы с постраничной навигацией при включении журнального режима в теме. Плагин WP-PageNavi глючит, на 2 странице отображает содержимое главной.
Пробую ваш код — ничего не появилось вообще. Функцию в functions.php добавил, текст вставляю в файл frontpage.php, где до этого было "<?php wp_pagenavi (); ?>" и выводилось. Поможете чем?
Здравствуйте Андрей. Так вы не только в файле functions.php производите замену.А так же в файле index.php, archive.php,category.php и search.php,вот тогда и будет эффект.
Отпишитесь пожалуйста о результатах.
Вот то что мне как раз нужно. У меня навигация есть, вроде все нормально но если посмотреть то у навигации нет разрыва и все страницы просто пишутся по порядку а это не удобно. Если будет 60 страниц то это будет занимать как минимум 2 ряда на блоге. Не красиво вообще, буду пробовать менять
У меня на сайте постраничная навигация сделана с помощью плагина. Уже когда поставлю уникальный шаблон, то тогда сделаю с помощью кода.
Пагинация — это реально полезная штука, позволяющая перелинковать странички — как для поисковиков, так и для пользователей полезная штука.
Естественно, со скриптом всегда сложнее, но в итоге меньше плагинов, больше «газу», и в добавок вставляя коды лишний раз тренируешься и познаешь азы CSS, HTML, нужно себе установить. И по моемому написано слишком понятно, чтобы не понять.
Не забывайте перед изменением кода,сохраняться.
Так я в эти файлы ничего не добавлял, да там вроде и нет навигации на первый взгляд. Попробовал уже другой плагин ещё — та же штука с 2 страницей. А на ней всего 1 статья должна быть сейчас.
Привет Андрей.Специально решил по эксперементировать,установил на тестовый блог шаблон Parabola.Шаблон отличный,но своеобразный,в кодах сложноватый.Но я нашел решение вашего вопроса.Ну во первых устанавливаете плагин WP-PageNavi. Заходите в редактор и в файлах single.php, archive.php, search.php, categories.php нужно заменить коды, на <?php if (function_exists ('wp_pagenavi')) { wp_pagenavi (); } ?> А где и что заменить,я сейчас дам ссылки на фото
vipinternetrabota.ru/wp-c…ablon-rubrik.png
vipinternetrabota.ru/wp-c…tatyi-poiska.png
vipinternetrabota.ru/wp-c…7/odna-zapis.png
А в файлах index.php и page.php в отмеченных местах нужно поменять на wp_pagenavi.На фото указанных ниже,что бы нумерация страниц была с низу,меняете код под номером 1 в обоих файлах,если хотите чтобы нумерация была с верху,то под номером 2.
Вот ссылки где нужно произвести замену на wp_pagenavi
vipinternetrabota.ru/wp-c…16/07/indeks.png
vipinternetrabota.ru/wp-c…n-stranitsyi.png
После всех манипуляций у вас должно 100% получится,проверено лично.
Далее устанавливаете плагин PageNavi Style,что бы поменять стиль кнопок.
Перед заменой кодов,не забывайте сохранять их.
После всех действий,отпишитесь о результатах.
Удачи.
Добрый вечер! Извините, что только сейчас дошли руки попробовать, переключался на другие дела ))
Большое спасибо за столь подробное описание! Сделал всё, как написано. Но всё равно нормально не работает. Результат можно посмотреть сейчас на сайте.
Сначала я поменял пункт 1 в index.php и page.php - "is_front_page" на "wp_pagenavi" — но тогда пропала страница презентации, а она мне нужна. Вернул это и сделал по пункту 2 — "is_page" на "wp_pagenavi" — Навигация появилась вверху над страницей презентации. Уже лучше, но она не работает! У меня сейчас на сайте 11 статей, на главной показываются только 10 последних и стоит в навигации: "Страница 1 из 1", как-будто второй страницы с самой первой статьёй и нет. Оставлю, можете посмотреть. А статья есть, она даже мелькает в презентации — "Как найти свою вторую половинку".
А у вас работала навигация? Было несколько страниц и переключалось между ними?
Плагин PageNavi Style установил, он работает.
Андрей,что то не пойму.Должно все работать.
Я пролистывал,у меня все переходило.
А я смотрю у тебя вообще одна страница написана.
Я не пойму что у тябя код в низу не установился
Может не туда установил?
Ну все у меня вышло.
Это надо лично смотреть.
Так вы еще и консультируете посетителей?
Ну тогда я тоже буду вопросы задавать.
А вы мне будете бесплатно помогать?
Ну по мере возможности помогу, все будет зависеть от ваших запросов))))
У меня же тоже время ограничено
Не, с плагином проще.