Reputation:
Does anyone know how I can set different posts_per_pages for paginated pages.
For example:
Homepage = Posts per page 20 Homepage page 2 - 5 = Posts per page 10
The query I am using $wp_query->query(array( 'paged' => $paged, 'post_type' => 'cpt_operator', 'category__in' => array(12,22411), 'orderby'=>'menu_order', 'order' => 'ASC', 'post__not_in' => array($test) ));
Upvotes: 0
Views: 1827
Reputation: 1175
If you want to display post 20~30 on page 2 you will need to calculate the offset
function custom_posts_per_page( $query ) {
if( !is_admin() && $query->is_main_query() && (int) get_query_var('paged', 1) >= 2 ) {
$query->set( 'posts_per_page', '10' );
$query->set( 'offset', ((int) get_query_var('paged') - 2) * 10 + 20);
}
}
add_action( 'pre_get_posts', 'custom_posts_per_page' );
10 : number of posts per page on page 2+
20 : number of posts on homepage
Upvotes: 1