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

  • Решено kudanoff

    (@kudanoff)


    Всем привет.

    Использую чистую тему с underscores. Столкнулся с такой проблемой — пагинация не работает, если даже работает, то показывает наоборот. Когда надо на вторую страницу, она показывает «предыдущие записи» вместо следующих.
    Не хочется юзать сторонний плагин для этого, если есть вариант преобразить пагинацию со страницами.

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • оно так изначально — вторая страница записей это предыдущие записи. типа по времени они предыдущие.

    замените

    
    the_posts_navigation();
    

    на

    
    the_posts_pagination( array(
        'mid_size'  => 4,
        'end_size' => 1,
        'prev_text' => 'Предыдущая',
        'next_text' => 'Следующая',
    ) ); 
    

    и будет у вас нормальная постраничная навигация.

    Автор kudanoff

    (@kudanoff)

    Flector (@flector)

    Не совсем, я вставил ваш код, визуально все правильно, но когда перейду например на вторую или третью страницу, активная показывает первая.

    ну это стандартно — «настройки\постоянные ссылки» — нажимаем «сохранить изменения»

    Автор kudanoff

    (@kudanoff)

    Flector (@flector) не помогло, у меня цикл с query_posts

    • Ответ изменён 6 лет назад пользователем kudanoff.

    ну так пагинация работает со стандартным циклом, а у вас все выглядит так, словно вы используете произвольные циклы. в таком случае решение найдете здесь:
    https://wordpress.stackexchange.com/questions/174907/how-to-use-the-posts-navigation-for-wp-query-and-get-posts

    Автор kudanoff

    (@kudanoff)

    Flector (@flector) я лишь добавил категорию =news.

    как добавили то?

    Автор kudanoff

    (@kudanoff)

    <div class=»news_items col-lg-18 col-md-18″ style=»padding: 0″>
    <?php query_posts(‘category_name=news’);
    if ( have_posts() ) :

    if ( is_home() && ! is_front_page() ) : ?>

    <?php
    endif;

    /* Start the Loop */
    while ( have_posts() ) : the_post();

    get_template_part( ‘template-parts/content’, get_post_format() );

    endwhile;

    the_posts_pagination( array(
    ‘mid_size’ => 4,
    ‘end_size’ => 1,
    ‘prev_text’ => ‘Предыдущая’,
    ‘next_text’ => ‘Следующая’,
    ) );

    else :

    get_template_part( ‘template-parts/content’, ‘none’ );

    endif; ?>
    </div>

    ну вот этот самый query_posts у вас все и портит. проблеме уже за 10 лет, если не больше.

    
    $page = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts("category_name=news&paged=$page");
    
    Автор kudanoff

    (@kudanoff)

    Flector (@flector) Получилось! Спасибо большое Вам!

    • Ответ изменён 6 лет назад пользователем kudanoff.
Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Пагинация записей» закрыта для новых ответов.