Постраничная навигация при 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 можно добавить дополнительные параметры, например, количество постов в этом цикле или рубрику, из которой из выбирать.

—–
В разделе “продажа инструментов в Москве” сайта “Из рук в руки” – http://irr.ru/building/instruments/ – представлено большое количество частных объявлений и объявлений магазинов и компаний, предлагающих всевозможные инструменты на все случаи жизни.

  3 Мне понравилось!

Koммeнтapии (8):

  1. Спасибо, за публикацию. На сайте не мог никак настроить адекватный вывод страниц. Сделал как написано, здорово, работает! )

  2. на главной странице(index) такой метод почему-то не работает..

  3. Что делать, если два лупа? в каждом пагинация работает, но не зависит друг от друга.

  4. У меня тоже проблема с index как и у Евгения

  5. на главной функцию изменения цикла следует испльзовать таким образом
    query_posts( array( ‘cat’ => 8, ‘paged’ => get_query_var(’paged’) ) );
    тоесть параметры передавать через массив, и среди параметров должен быть ‘paged’ => get_query_var(’paged’) )

    • Огромнейшее спасибо. Пытаюсь с нуля написать собственную тему. Три дня потратил на поиск решения проблемы пагинации , за это время успел полностью переверстать заглавную страницу и сделать все необходимые рюшки, а вывод все не как не хотел работать. Вы просто меня спасли, не кто более не смог ответить , перепробовал с десяток ресурсов.

  6. у меня тоже проблема с index, как у ребят выше. Тема стоит eDegree (http://www.topblogformula.com/wordpress-business-themes/edegree), код соответствующей страницы такой:

    <?php
    $i = 0;
    while (have_posts()) {
    the_post();
    include(dirname(__FILE__).'/post.php');
    if ($html = get_option($shortname.'_custom_html_'.$i)) {
    echo "$html";
    }
    $i++;
    }
    ?>


    В чем может быть косяк?

Oтпpaвить кoммeнтapий

Облако тегов