Как на странице Wordpress с пагинацией сделать, чтобы на первой странице выводило 6 постов а на остальных по 9?

Цикл записей выглядит вот так:

  $paged = get_query_var('paged') ? get_query_var('paged') : 1;

  $query_args = array(
    'post_type' => 'post',
    'posts_per_page' => 6,
    'cat' => 6,
    'post__not_in' => [$main_id],
    'order' => 'asc',
    'paged' => $paged,
  );
            $query = new WP_Query( $query_args ); 
            if( $query->have_posts() ){
                while( $query->have_posts() ){
                    $query->the_post(); 
            ?>
            <div class="aricle-item"> <?php the_title(); ?></div>
}
                wp_reset_postdata(); // сбрасываем переменную $post
            } ?>

Вот так выглядит пагинация:

        ?>
        <div class="pagination-wrapper">
            <div class="pagination">



                <?php 
                $count_posts = wp_count_posts();
                $published_posts = $count_posts->publish;
                $max = round((($published_posts - 6) / 9) + 1, 0) ;
                
                echo paginate_links( array(
                    'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
                    'format' => '?page=%#%',
                    'current' => max( 1, get_query_var('paged') ),
                    'total' => $max,
                ) );


                ?> 

И всё работает как надо, кроме моей задачи


Ответы (1 шт):

Автор решения: Кирилл Степанков

Предлагаю сделать следующие условие:

if ($paged === 1) {
  $posts_per_page = 6;
} else {
  $posts_per_page = 9;
}

$query_args = array(
    'post_type' => 'post',
    'posts_per_page' => $posts_per_page,
    'cat' => 6,
    'post__not_in' => [$main_id],
    'order' => 'asc',
    'paged' => $paged,
);
→ Ссылка