当前位置:首页>网站建设>wordpress不同分类设置不同的每页显示文章数量

wordpress不同分类设置不同的每页显示文章数量

释放双眼,带上耳机,听听看~!

wordpress每页显示文章数量默认在后台–设置–阅读–博客页面至多显示里面设置,但是这个是公共配置,所有的分类都会使用这个设置的数字。当我们需要不同的分类设置不同的每页显示文章数量就得挂上wordpress的钩子,然后调用自定义设置的值即可。

需要挂的钩子为“pre_get_posts”,详细代码如下:

//不同分类调用不同的分页显示数量
function tx_wp_filter_pre_get_posts($query)
{
    if ($query->is_main_query()) { //判断是否主查询
        $num = '';
        if (is_category()) {  //判断是否分类
            $cat_ID = get_queried_object_id(); //获取到分类ID
            if (get_option('cat-pagenum-' . $cat_ID)) { //判断分类自定义字段是否有值
                $num = get_option('cat-pagenum-' . $cat_ID);
                $query->set('posts_per_page', $num);  //给主循环数据里面的每页文章数量赋值
            }
        }
    }
    return $query;
}

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

注意:以上代码需要搭配分类自定义字段使用,以后会分享设置分类自定义字段。

如果你还不会分类自定义字段或者只需要针对某个指定分类设置可以用下面的代码更简单:

//不同分类调用不同的分页显示数量
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');//挂上钩子
欢迎访问秀主题博客,分享简单实用WP教程
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
网站建设

b2主题php8.1频繁502解决方法

2023-5-24 18:07:42

网站建设

两种方式实现wordpress自定义分页数量

2023-5-26 10:29:22

温馨提示:

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:971318156@qq.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索