Wordpress loop loop - Различное количество постов на первой странице нумерации страниц? - PullRequest
0 голосов
/ 13 июня 2019

ОК, я пытаюсь отобразить различное количество постов на первой странице категории. Вот что я сделал:

if ( !is_paged() ) {
    // first page 
    query_posts($query_string.'&posts_per_page=2');    
}
else {
    // next pages
    query_posts($query_string.'&posts_per_page=6');  
}

И первая страница выглядит хорошо, но нумерация страниц показывает 12 страниц. Когда я нажимаю на страницу № 12, я получаю ошибку 404. Когда я нажимаю на страницу № 2, я вижу хорошее количество сообщений, но некоторые сообщения отсутствуют, а нумерация страниц показывает только 2 страницы (№ 1 и № 2). Что-то не так, но я не могу придумать решение.

Вот мой цикл:

    <div class="container">
    <?php               

        /* start the loop */
        if ( have_posts() ) :
        global $query_string;

        $counter = 1;    
        while ( have_posts() ) : the_post();
        if( $counter == 1 ) {
        /* set the counter to customize first and second post */     
    ?>


    <div class="row">
        <div class="col-xs-12 col-sm-8 first-post"><?php the_title(); ?></div> 

        <?php } elseif( $counter == 2 ) { ?>

        <div class="col-xs-12 col-sm-4 second-post"><?php the_title(); ?></div>
    </div> <!-- .row -->


    <div class="row">
    <?php } else { /* display other articles below */ ?>  

    <div class="col-xs-12 col-sm-4"><?php the_title(); ?></div>

    <?php } $counter++; endwhile; endif; ?>

    </div> <!-- .row -->
    </div><!-- .container -->

а вот пагинация внизу:

<div class="container">
    <div class="row">
        <?php   
        the_posts_pagination( array(
         'prev_text' => '<span class="screen-reader-text">' . __( 'Previous page' ) . '</span>',
         'next_text' => '<span class="screen-reader-text">' . __( 'Next page' ) . '</span>',
         'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page' ) . ' </span>',
         ) );

        ?>
    </div>
</div>

Есть идеи, как это исправить?

...