WordPress: постраничная навигация при query_posts
При использовании в шаблоне query_posts
перестает работать постраничная навигация – при переходе на следующую страницу отображается тот же самый контент. Проблема решается путем добавлению к циклу всего 2-х строк кода.
Необходимо найти код начала цикла:
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
и вставить перед ним следующий код:
<?php
$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("paged=$page");
?>
Ну и, естественно, если необходимо, в query_posts
можно добавить дополнительные параметры, например, количество постов в этом цикле или рубрику, из которой из выбирать.
Комментарии (28)
У меня другая проблема с навигацией. При переходе на 3ю страницу и следующие, показывает контент index.php темы. Первые две страницы отображает нормально. В чем причина?
За коды огромнейшая благодарность!
Только во втором блоке должно быть
query_posts(“paged=”.$page);
Когда используются двойные кавычки, то внутри них можно вставлять php-переменные. Так что мой код тоже рабочий.
Странно конечно, но у меня не сработало…
Потому что query_posts 2 раз прописан.
О боги! Как я Вам благодарна!
Мне понадобились “хлебные крошки” и я нашла их у вас!
Не выводились записи на странице (шаблон позволял выводить только на главной), нашла у Вас, как выводить записи с навигацией на любой странице, а посмотрев комментарии нашла эту статью и о чудо, эти три строчки спасли меня!
Я их вставила в шаблон и он заработал! Спасибо, спасибо, спасибо Вам огромное!
А как можно добавить параметр вывода записей определённой категории?
После
paged=$page
добавьте&cat=7
. 7 – это ID рубрики.Добрый день. Тоже столкнулся с данной проблемой. Но query_posts нету. А за вывод отвечает вот такой код: Не могу понять что нужно менять! Не подскажите?
У вас нужный код уже присутствует. Ничего не надо менять.
И Вам спасибо, Ваша статья помогла понять что к чему!
Спасибо, дружище, твой код мне помог!
Но почему тогда wp-paginavi не работает на главной? Контент не меняется на 2,3,4 страницах. В рубриках все работает!
Не знаю.
Здравствуйте подобная проблема но код другой. В рубриках пагинация работает А на главной полный отказ перегружается показывает в строке Url…./page 2 а посты остаются с первого.
Код вот такой.Простите что в таком виде не разобрался как в сообщение php вставить.
Помогите с решением
Спасибо но осталось также. Уже не знаю что делать. Как шахтер перерыл весь инет. Неделю мучаюсь. Может прислать Вам код полнее ? до какого нибудь момента. К примеру с вашим кодом теперь выглядит так
Вся суть в первых двух строчках. Не знаю, почему не работает. Должно.
Вот что мне помогло!!!! Для решения проблемы неработоспособности постраничной навигации на главной странице –
Вам поможет вставка $query_string
Вот что должно получиться у вас –
В самом начале идеи создания сайта. Я хотел закрепить статьи на первой странице в определенном порядке. Ставил какой то плагин. Не помню и тоже вроде менял в коде. Может сейчас конфликт происходит.? Найти где менял не помню. Плагина того давно нет.
У кого не работает падинация на странице searsh.php. Посмотрите как правильно создавать шаблон страницы, соблюдая все стандартные названия – https://codex.wordpress.org/Creating_a_Search_Page . Моя ошибка была именно в этом.
Спасибо большое, автор! Ты так помог мне!
У меня следующая проблема: Вроде все робит, только высвечивается ссылка на третью страницу, а при переходе на неё, выдает “404”. Там должно находится ещё несколько постов. В чем может быть проблема?
Впрочем, 4 страница тоже не работает.
Молодой человек или девушка , который написал этот пост спасибо тебе большое человеческое , здоровье , счастья , что бы дети не болели , короче что бы все збс было ! Спасибо.
Использывал вашу пагинацию, но почему то при переходе на 2 страницу пишет что страница не найдена, есть ошибка в коде?
Спасибо! Помогло!
Где найти, что вставить, куда? Неужели так трудно понятным и человеческим языком объяснить, как решить эту проблему? Какой файл мне редактировать, и где он лежит? Почему все “писатели” гайдов откровенно издеваются над пользователями. Я уже пятый час читаю сотый гайд, как пофиксить это, и не один еще не помог.