function my_post_queries( $query ) {
// not an admin page and it is the main query
if (!is_admin() && $query->is_main_query()){
// query for the home page
if(is_home()){
$first_page_total= 9; // total number of posts on first page
$paginated_total = 10; // total number of posts on paginated pages
$posts_to_skip = $paginated_total - $first_page_total;
// pagination for custom page(s)
if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
else { $paged = 1; }
// page query args
$query->set('posts_per_page', $first_page_total);
$query->set('post__not_in', get_option( 'sticky_posts' ));
if(is_paged()) {
// paginated query args
$offset = (($paged - 1) * $paginated_total)- $posts_to_skip;
$query->set('offset', $offset);
$query->set('posts_per_page', $paginated_total);
}
}
}
}
add_action( 'pre_get_posts', 'my_post_queries' );