WordPress不同分类设置显示不同数量文章

function filter_pre_get_posts( $query ){
  if ( $query->is_main_query() ){
    $num = '';   
    if ( is_category(array(2)) ){ $num = 20; }//例如分类ID为2的显示20篇
    if ( '' != $num ){ $query->set( 'posts_per_page', $num ); }
  }
  return $query;
}
add_action('pre_get_posts', 'filter_pre_get_posts');