0 收藏 0 点赞 632 浏览 1230 个字

最近在准备把汇特网app主题从zblog转换到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');//挂上钩子

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.mizhanw.com/blog/file/2395.html

相关推荐
WordPress数据库查找替换插件 – Better Search Replace
Better Search Replace 是一款WordPress数据库可视化搜索和替换插件。当我们的网站需要更换域名,或者需要一次性批量…
日期:2023-08-26 点赞:0 阅读:32
将 WordPress 多媒体内容存储到腾讯云COS
当我们的WordPress网站使用的服务器配置及宽带不高的时候,我们可以将网站图片存储到阿里云的oss或者腾讯云的cos,这样可以减少服务器…
日期:2023-07-22 点赞:0 阅读:292
WooCommerce 商家现在可以直接在 TikTok 上销售
WooCommerce 宣布美国 WooCommerce 商家有机会成为首批在美国直接在 TikTok 上销售的商家之一。 WooComme…
日期:2023-07-22 点赞:0 阅读:816
分享七款WordPress图片分离对象存储插件
如果我们有用WordPress搭建网站的朋友应该会发现网站文件和数据库其实没有多大,在网站运营几年后数据最大的就是图片。而且图片占用服务器的…
日期:2023-07-22 点赞:0 阅读:465
给WordPress添加时间因子的正确方法
如何给WordPress添加时间因子,WordPress时间因子正确添加方法? 时间因子在网站中的作用非常重要,可以提高网页的收录速度和排名…
日期:2023-07-21 点赞:0 阅读:1,002
PbootCMS后台密码找回重设方法
如果不小心忘记了PbootCMS后台密码怎么办?该如何重设密码呢?亦或者接手别人的网站,不知道网站密码该怎么办呢? 方法一: 可以使用PB密…
日期:2023-06-25 点赞:0 阅读:775
发表评论
暂无评论

还没有评论呢,快来抢沙发~