Постраничная навигация в WordPress без плагина (альтернатива WP-PageNavi)

Практически любой блоггер, который ведет свой блог на движке WordPress, знаком с плагином WP-PageNavi, который выводит постраничную навигацию такого вида: Но не каждый знает (включая меня до недавнего времени), что WordPress имеет встроенную функцию (начиная аж с версии 2.1), которая реализует практически тот же самый ...
Комментарии (228)
WP-PageNavi не делает запросов к базе. Другие плагины могут делать один лёгкий запрос, возвращающий общее количество записей.
А как же чтение опций плагина?
Я, конечно, в этих вещах не разбираюсь, но предполагал, что плагин все-таки дает большую нагрузку, чем просто php-функция.
Стандартно все опции кэшируются, поэтому получение эквивалентно обращению к обычной php-переменной. Просто плагином удобней работать и он не зависит от шаблона.
Твой вариант хорош тем, что можно встроить пагинацию в шаблон в любом месте. Ну и есть другие плагины пагинации, где осуществляется один (очень простой и быстрый) sql-запрос которым получается общее количество записей. :)
Ясно. В любом случае я предпочитаю воспользоваться небольшой функцией, нежели плагином.
Дима, вот эту строчку «\r\n» лучше так «\n». r — это только для винды. :)
Ну пусть будет. Я для себя запомнил именно эту комбинацию и, чтобы не запутаться, пишу обе буквы. Многие пишут точно так же.
Дим, не разбирался еще с данной пагинацией, так как нет времени.
Недавно добавил в закладки www.smashingmagazine.com/2011/05/10/new-wordpress-power-tips-for-template-developers-and-consultants/
У тебя оттуда код?
Да, я узнал об этой функции оттуда. Но тот вариант почему-то не работает, как надо, поэтому я довел ее до рабочего состояния.
Ох ты, как раз во время. Начал с утра шаблон дорабатывать, смотрю — новая статья! Спасибо, сейчас попробуем!
Спасибо большое! Давно искал подобное решение, т.к. не всегда тема поддерживает нужные плагины. Подскажите пожалуйста, как сделать редирект с первой страницы (адрес сайта/page/1) на главную?
Этот редирект итак уже происходит автоматически. По крайней мере у меня именно так.
Пусть отвечу спустя столько времени) думаю кому то пригодится
Решением проблемы является очистка кеша wordpress-а
Странно, что разработчики WordPress до сих не обернули это в стандартную функцию и включили в состав движка
Да, я об этом же подумал, когда узнал про функцию. Вообще, в WordPress много скрытых функций, про которые мы узнаем от сторонних людей, а не от разработчиков ВП. Не раз уже с подобным сталкивался.
Я эту функцию даже описал, уже около месяца назад :) wp-kama.ru/function/paginate_links
Обернули, довольно давно.
Функция называется paginate_links ().
Пример:
Спасибо
пользуюсь функцией от Попова. надо попробовать вашу. спасибо за статью.
Сразу добавлю «5 копеек» для тех, кто будет работать с мультиязычностию или будет делать темы для локализации (сам сталкивался неоднократно):
Если понадобится, в вышеприведенном коде строку 18 заменяем (точнее, дополняем) на
'blank', само собой, меняем на свой text domain
А где CSS скрипт, всё сделал как написано, но дизайна не вижу… нехватает CSS скрипта.
Это домашнее задание.
Добрый день. Пробовал и этот метод, и с pagenavi, но не могу решить следующую проблему:
Шаблон: page. php
Вызов идет так:
if (have_posts ()): while (have_posts ()): the_post ();
---------
$wplover_home = new WP_Query («post_type=page&post_parent=$post_parent»);
if ($wplover_home->have_posts ()): while ($wplover_home->have_posts ()):
$wplover_home->the_post ();
---------
endwhile;
if (function_exists ('wp_pagenavi')) { wp_pagenavi (array ('query' =>$wplover_home)); }
---------
endwhile;
Собственно так. Суть такова — идет вывод страницы, а под ней вывод всех ее «братьев и сестер». Может ли не работать пагинация из-за вложенности циклов?
Спасибо.
Я в таких вещах не разбираюсь, поэтому ничем не могу помочь.
Глубина вложенности loop может быть любая (в разумных пределах).
Попробуйте так:
Спасибо большое за помощь, все работает. Сейчас буду разбираться что есть что.
Свежая и актуальная статья получилась :)
Наличие постраничной навигации говорит об отсутствии или ущербности категоризации сайта. Не используется потенциал внутренних ссылок и теряется значительная часть НЧ. Поверьте.
Что за бред вы несете?
Это не бред, хоть кому-то могло так показаться. Я не представляю себе юзера, который будет рыть страницы до глубины больше, чем четыре уровня. Есть категории, есть подкатегории. Для особо одаренных есть теги. Если не умеем, то ясно кто виноват.
А можно CSS хоть в каком нибуть варианте, а там я уже сам переделаю как мне нужно, please !!!
Спасибо за функцию. Как раз думал про этот функционал. Будет чем заняться на выходных)
У меня два вопроса:
1) Почему Вы ссылаетесь называя «другим аналогичным решением» на какой-то левый материал. И автор Kama, выше — тоже туда же направляет. Какая-то подстава.
2) Что это за вопрос в коде? user_trailingslashit
В чем заключается подстава и почему левый?
Не смогу объяснить, т.к. не силен в PHP-понятиях.
А Вы сходите по ссылке, там что-то вообще не по теме, что-то про IE6 и «Упячка не дремлет» (текст оттуда).
А вы смотрите не в отсталом браузере Internet Explorer 6 и тогда увидите то, что и должны увидеть.
Ух-ты, как интересно. Посмотрел в продвинутом Firefox, действительно. Однако, зря это так сделано, я такой бред за вирус воспринимаю и блокирую таковые сайты.
Вообще-то мой блог в IE6 тоже не увидеть (непонятно, кстати, как вы смогли комментировать), но у меня это сделано более культурно и не так пугающе.
Ваш блог я вижу. Вероятно у меня не 6IE, а 7-ой или 8-й.
Хехе, а я и забыл что у меня там такой ужос :)
В прочем, пользоваться ИЕ6 сегодня — не менее ужасно, поэтому в чем-то страница достойна своих посетителей… :)
Отличное решение для вордпресс. Для меня как для разработчика своих сайтов интересен вопрос, а можно ли такую навигацию применить не на ворд пресс, а в любой CMS
Нельзя.
Скрипт поломал кодировку. Как исправить проблему? Кодировал в UTF-8 без BOM.
Сохраните functions. php в той же кодировке, что и остальные файлы шаблона.
За материл спасибо. Долго он прятался от наших глаз) версия 2.1) Попробую реализовать у себя, посмотрим что будет с нагрузкой и что получиться в итоге.
О результатах отпишусь.
как вы оформили эти комментарии?
как организовать нумерацию комментов?
и как сама форма сделана так что есть так сказать визуальный редактор и можно код вставлять?
C помощью CSS.
Такой информации полно в Интернете, пользуйтесь поисковиками.
Специально для вас в этом редакторе есть кнопка со знаком вопроса.
я имел ввиду не предосмотр, а вот эти кнопки: code, tt, b-quote, link, i, b