有时我们需要让wordpress不同的分类显示不同数量的文章并分页,比如资讯的分类页显示20篇并分页,教程的分类页显示10篇并分页,要如何实现呢?一起来看看吧!把下面的代码加入当前主题的function.php文件中
function filter_pre_get_posts( $query ){ if ( $query->is_mAIn_query() ){ $num = ''; if ( is_category(array(9)) ){ $num = 14; } //if ( is_category(array(10)) ){ $num = 14; } //if ( is_category(array('questions')) ){ $num = 14; } // if ( in_category(array('jhg','hjj','yjj','xxj','jlg')) ){ $num = 10; } //if ( is_home() ){ $num = 10; } // else if ( is_category() ){ $num = 10; } // else if ( is_tag() ){ $num = 10; } // else if ( is_date() ){ $num = 10; } // else if ( is_author() ){ $num = 10; } // else if ( is_search() ){ $num = 10; } // else if ( is_archive() ){ $num = 10; } if ( '' != $num ){ $query->set( 'posts_per_page', $num ); } } return $query; } add_action('pre_get_posts', 'filter_pre_get_posts');
修改代码里的分类ID号或者分类目录别名,来控制不同分类不同文章数量分页效果。
修改代码里的$num = 14 后面的14就是每页显示的文章数量,可以修改成自己需要的数值。