function change_news_posts_per_page($query) { if ( !is_admin() && $query->is_main_query() && is_category('news') ) { $query->set('posts_per_page', 10); } } add_action('pre_get_posts', 'change_news_posts_per_page'); function change_blog_posts_per_page($query) { if (!is_admin() && $query->is_main_query()) { if (is_category('blog')) { $query->set('posts_per_page', 10); } } } add_action('pre_get_posts', 'change_blog_posts_per_page');