秋硕学习笔记 记录 WordPress 根据页面类型设置每页显示的文章数

WordPress 根据页面类型设置每页显示的文章数

使用下面的函数,放在主题 functions.php 函数中即可: // 根据页面类型指定每页显示的文章数 f…

使用下面的函数,放在主题 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 (is_tax('products_list')) {
        $query->set('posts_per_page', 1);
    }
}
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts', 'custom_posts_per_page');

wordpress给指定ID的分类目录分页添加不同数量文章

function jzp_wp_filter_pre_get_posts($query)
{
    if ($query->is_main_query()) {
        $num = '';
        if (is_category(array(38))) {  
            $num = 999;
            $query->set('posts_per_page', $num);
        }
    }
    return $query;
}

add_action('pre_get_posts', 'jzp_wp_filter_pre_get_posts');

wordpress根据页面类型自定义列表文章数量

function custom_posts_per_page($query){
    if(is_home()){
        $query->set('posts_per_page',9);//首页每页显示8篇文章
    }
    if(is_search()){
        $query->set('posts_per_page',5);//搜索页显示所有匹配的文章,不分页
    }
    if(is_archive()){
        $query->set('posts_per_page',-1);//archive每页显示25篇文章
      }
    if(is_tag()){
        $query->set('posts_per_page',4);//archive每页显示25篇文章
    }
    if(is_category()){
        $query->set('posts_per_page',9);//archive每页显示25篇文章
    }
    if(is_category(11)){
        $query->set('posts_per_page',-1);//archive每页显示25篇文章
    }
}//function
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts','custom_posts_per_page');

只需要针对某个指定分类设置可以用下面的代码:

//不同分类调用不同的分页显示数量
function tx_wp_filter_pre_get_posts($query)
{
    if ($query->is_main_query()) { //判断是否主查询
        $num = '';
        if (is_category(array(1))) {  //数字1为指定分类id
            $num = 2; //数字2为每页文章数量值可以任意修改但必须是整数
            $query->set('posts_per_page', $num);  //给主循环数据里面的每页文章数量赋值
        }
    }
    return $query;
}

add_action('pre_get_posts', 'tx_wp_filter_pre_get_posts');//挂上钩子

wordpress不同分类模板显示不同文章条数:

function tx_wp_filter_get_posts($query)
{
  if ($query->is_main_query()) {
    $num = '';
    if (is_category(array(3,6))) { //需要设置的分类ID
      $num = 600; //显示文章条数
      $query->set('posts_per_page', $num);
    }
  }
  return $query;
}

add_action('pre_get_posts', 'tx_wp_filter_get_posts');
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。若本站内容侵犯了原著者的合法权益,请联系我们进行处理。本文地址:https://wparticle.cn/1321.html

作者: wordus

记录生活感悟,分享网络资源,交流学习体会,感受美好人生。秋硕学习笔记,记录分享学习、生活、工作、旅游、健身、爱好的个人博客。
返回顶部