ОК, я пытаюсь отобразить различное количество постов на первой странице категории. Вот что я сделал:
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>
Есть идеи, как это исправить?