Поддержка Проблемы и решения подскажите что за проблема с навигацией

  • Уважаемые гуру WordPress! Выручите!
    Проблема в следующем:
    В файле index.php, если вывод записей сделать таким образом =>

    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
     ... ... ...
    <?php endwhile; ?>

    => то pageNavi т.е. постраничная навигация успешно работает, а на главной выводяться последние статьи. И страницы листаются нормально.

    Если же вывод записей сделать таким образом =>

    <?php
        $args = array(
            'post__in'  => get_option('sticky_posts'),
            'ignore_sticky_posts' => 1
        );
        query_posts($args);
    ?>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
     ... ... ...
    <?php endwhile; ?>

    => то pageNavi т.е постраничная навигация стоит всегда на первой странице и не листает, причем в строке адреса аргумент ?paged меняется на соответствующую нажатой страницу, все тоже самое, только записи должны выводиться из раздела «Прилепить на главную страницу»,

    в чем может быть проблемма, почему постраничная навигация не работает?

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Модератор Yuri

    (@yube)

    «Проблема» в том, что аргументы, передаваемые в query_posts, не дополняют, а замещают те, которые получены при разборе url, в том числе, и номер страницы.

    что можно сделать?? значит можно забыть о том чтобы вывести прикрепленные страницы?? хорошо темы плодить не буду, просто хотелось бы очень разобраться, уже пробовал разными способами делать!

    Модератор Yuri

    (@yube)

    прикрепленные страницы?

    Ничего не путаете? Может, посты?

    я уже так пробовал

    Что-то я там в упор не вижу параметра ‘paged’

    извините, перепутал, да посты. Вот сделал так:

    <?php
        $page = get_query_var('page');
        $args = array(
    	'paged' => $page,
            'posts_per_page' => 7,
            'post__in'  => get_option('sticky_posts'),
            'ignore_sticky_posts' => 1
        );  
    
        query_posts($args);
    ?>
    
    <?php while (have_posts()) : the_post(); ?>
    ... .. ...
    <?php endwhile; ?>

    вот попытался так, результат тут страниц всего 46, и на всех страницах выводится 7 одинаковых постов Благотворительный фонд

    Модератор Yuri

    (@yube)

    Код похож на правильный. К сожалению, проверить не могу — на тестовом версия WP другая и постов столько нет.

    А еще вопрос Юрий, вот смотрите когда я убиваю цикл таким образом

    когда я полностью убераю вот этот отрывок кода:

    <?php
        $args = array(
    		'paged' => 'page',
            'posts_per_page' => 7,
            'post__in'  => get_option('sticky_posts'),
    		'ignore_sticky_posts' => 1
        );  
    
        query_posts($args);
    ?>

    у меня на главной выводятся все посты, т.е. более 100, а когда нажимаю на 3… 4… 5.. 6..-ю страницу, у меня выводятся нормально по 7 постов, может с таким сталкивались, я уже пробовал и pageNavi, и написал функцию своего пагинатора, и что тот что другой пагинатор работает одинаково.

    Юрий спасибо за помощь, вопрос решился всего одним условием:

    $page = (get_query_var('paged')) ? get_query_var('paged') : 1;
    Модератор Yuri

    (@yube)

    на главной выводятся все посты, т.е. более 100

    Ну, это вроде как правильно: если не указано ignore_sticky_posts, то сначала выводятся все стикнутые, без учета posts_per_page, потом остальные.

    Спасибо Юрий, я в самом конце понял, что у меня првые стоят все прикрепленные, а потом уже последние, но откреплять посты не вариант было, потому что они нужны на главной, спасибо вам!

    Модератор Yuri

    (@yube)

    Не за что.

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Тема «подскажите что за проблема с навигацией» закрыта для новых ответов.