自定义wordpress每个分类显示多少页面数

一般的分页只需要在后台设置->阅读->博客中显示的页数,即可设置网站的分页,但是这么设置的分页是全站通用的,无论是首页、分类、搜索都显示一个分页数,但是若我们想单独控制某一个页面显示多少呢?下面我们就说说这种怎么实现。

首先我们来了解一下在wrodpress中都是用哪些函数来判断分类的

判断是否是首页:is_home()
是否分页显示:is_paged()
是否是文章页:is_single()
是否是分类目录页:is_category()
是否是标签页:is_tag()

在wordpress中还会提供很多钩子,我们可以通过钩子来修改wordpress的内部运行行为,因此我们可以通过分页钩子posts_per_page设置每页显示的文章数。

//自定义不同页码的页码显示
function custom_posts_per_page($query){
     if(is_home()){
      $query->set('posts_per_page',4);//首页每页显示8篇文章
     }
    if(is_search()){
        $query->set('posts_per_page',-1);//搜索页显示所有匹配的文章,不分页
    }
    if(is_archive()){
        $query->set('posts_per_page',10);//archive每页显示25篇文章
    }
}
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts','custom_posts_per_page');
这样就可以分开定义每页显示的数量,注意一点的是这么设置完后,在后台设置的阅读数量就会失效。
作者:PHP学习网,本文 自定义wordpress每个分类显示多少页面数 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论