WordPress不同分类显示不同文章数量
     2016-11-22    +0°    683  

在WordPress中,有时候我们希望不同的分类显示的文章数量不同,或者说比如首先显示10篇最新文章,其他的搜索页、标签页、分类页以及时间索引页却要显示20篇文章,那么下面的代码就对你有用了。

注:默认情况下,wordpress页面显示文章数量是在后台设置中阅读设置修改显示的,并且全站都是统一数量的。有时候我们为了出于需要,要让不同页面显示不同的文章篇数量,那么只要把下面代码加入functions.php中即可(代码中整合了首页排除制定分类,如果你不需要,删除相关代码即可)。

function custom_posts_per_page($query){   
if(is_home()){   
$query->set('posts_per_page',8);//首页每页显示8篇文章
    }   
if(is_search()){   
$query->set('posts_per_page',-1);//搜索页显示所有匹配的文章,不分页
    }   
if(is_archive()){   
$query->set('posts_per_page',25);//archive每页显示25篇文章
}
if ( $query->is_home ) { //首页排除指定分类id为1,3
    $query->set( 'cat', '-1, -3' ); 
}
if( is_category(array(1,3)) ){
    $query->set('posts_per_page',20);//指定id为1,3的分类显示20篇文章
}  
}   
add_action('pre_get_posts','custom_posts_per_page'); 

其它地方不行要设置,直接就能看到效果,赶紧试试吧。