我们在开发WordPress主题时,会使用不同的分类模板来调整同时显示的文章数量,那么如何设置不同的分类模板让WordPress调用指定数量的文章呢?
函数 main_query_mods( $query ) {
$cat1 = av(‘picmoban’);
$cat2 = av(‘videomoban’);
$cat3 = av(‘postmoban’);
$cat4 = av(‘topicmoban’);
$numb1 = av(‘picmobannumb’,’10’);
$numb2 = av(‘videomobannumb’,’10’);
$numb3 = av(‘postmobannumb’,’10’);
$numb4 = av(‘topicmobannumb’,’10’);
if(!$query->is_main_query()) {
返回;
}
if (is_category($cat1)) {
$query->set(‘posts_per_page’,$numb1);
}elseif(is_category($cat2)) {
$query->set(‘posts_per_page’,$numb2);
}elseif(is_category($cat3)) {
$query->set(‘posts_per_page’,$numb3);
}elseif(is_category($cat4)) {
$query->set(‘posts_per_page’,$numb4);
}
}
add_action(‘pre_get_posts’, ‘main_query_mods’);
av(‘picmoban’); //就是获取分类id的数组
//如果获取的是category id和分隔的type,则需要使用下面的来处理
$idarr_f1 =explode(‘,’,$cat_f1);
av(‘picmobannumb’,’10’);//是设定的数字
$query->set(‘posts_per_page’,$numb1); //这是关键函数