<div class="news__table" id="post-container">
<?php
$query_args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 10,
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
)
?>
<?php $custom_query = new WP_Query($query_args); ?>
<?php if ($custom_query->have_posts()) : ?>
<?php while($custom_query->have_posts()) : $custom_query->the_post(); ?>
<?php get_template_part('template-parts/content-news'); ?>
<?php endwhile; ?>
<?php else : ?>
<h2 class="news__empty">
<?php the_field('news__empty'); ?>
</h2>
<?php endif; ?>
<?php wp_reset_postdata();?>
</div>
<?php if( $paged != 0 ) { ?>
<!-- здесь выводим первый цикл, где вставляем в posts_per_page 15 постов-->
<?php } else { ?>
<!-- здесь выводим второй цикл, где вставляем в posts_per_page 10 постов-->
<?php } ?>
pre_get_posts
add_action( 'pre_get_posts', 'custom_pre_get_posts', 1 );
function custom_pre_get_posts( $query ) {
// Выходим, если это админ-панель или не основной запрос
if( is_admin() || !$query->is_main_query() )
return;
// устанавливаем по 12 постов на страницах пагинации с главной
if ( $query->is_main_query() && $query->is_home() && $query->is_paged() ) {
$query->set( 'posts_per_page', 12 );
}
}