wordpress在页面使用自动更新的分类数

想法来源

一开始是想搞一个文章页面,里面能跳转对应分类,还记录了对应的分类数
可惜我使用的主题里并没有现成的模板,也没有在wordpress里面找到
一开始 抄的 参考的页面里,对应的分类数在控制台里的元素也只是单纯的数字
开玩笑,总不能用死数据吧,真他妈low啊我也没有信心每次都去更新数据
但是,既然系统自己都能展示分类数,那说明有对应的内置函数

通过分类别名获取

核心代码

使用WordPress内置函数get_category_by_slug()

<?php
// 将以下'category-name'改成你的分类别名即可
echo get_category_by_slug('category-name')->count;
?>

可惜,这玩意是php,没法在页面直接用

我选择的处理的办法是Shortcode

实现代码

首先,你需要将以下PHP代码添加到你的WordPress主题的 functions.php 文件中。这段代码将创建一个名为 category_count的Shortcode。

// 创建一个显示指定分类文章数量的Shortcode
function display_category_post_count($atts) {
    // 提取Shortcode的参数
    $atts = shortcode_atts(
        array(
            'slug' => '', // 默认分类的别名为空
        ),
        $atts,
        'category_count'
    );

    // 根据分类别名获取分类对象
    $category = get_category_by_slug($atts['slug']);

    // 如果分类存在,返回文章数量;否则返回错误提示
    if ($category) {
        return $category->count;
    } else {
        return 'Category not found';
    }
}
// 注册Shortcode
add_shortcode('category_count', 'display_category_post_count');

代码解释

  1. display_category_post_count($atts) 函数:这个函数是Shortcode的核心部分,它接收一个参数
    $atts,用来指定分类的别名(slug)。
  2. shortcode_atts() 函数:这个函数用于设置Shortcode的默认参数。在这个例子中,默认值为空(即没有指定分类别名)。
  3. get_category_by_slug() 函数:此函数根据分类别名获取分类对象。
  4. 返回文章数量或错误消息:如果指定的分类存在,函数会返回该分类下的文章数量;如果分类不存在,则返回一条错误消息。
  5. add_shortcode() 函数:用来注册Shortcode。你可以使用 category_count
    在WordPress页面或文章中调用这个Shortcode。

使用方式

直接在页面或文章中使用Shortcode

category_count slug="category-name"

记得用[]包裹起来,我这不方便全部打出来

到时候渲染在页面上直接就是对应数字
这里的 slug="category-name" 是你要显示的分类的别名。别名是分类URL的一部分。
例如,如果你的分类URL是example.com/category/news,那么别名就是 news

通过分类id获取(更推荐)

在wordpress使用久了之后,像什么分类id或者文章id经常会用到
在对应的列表里,将鼠标划到对应名字那,右下角就会出现id
也有让id自动展示的办法
wordpress后台无插件显示文章和分类ID

核心代码

使用内置函数get_category()

<?php
// 将以下cat_ID改成你的分类ID即可
echo get_category(cat_ID)->count;
?>

实现代码

同样放入functions.php 即可

// 创建一个显示指定分类文章数量的Shortcode
function count_id($atts) {
    // 提取Shortcode的参数,默认参数为分类ID=0
    $atts = shortcode_atts(
        array(
            'id' => 0, // 默认分类的ID为0,表示没有指定分类
        ),
        $atts,
        'count_id'
    );

    // 根据分类ID获取分类对象
    $category = get_category($atts['id']);

    // 如果分类存在,返回文章数量;否则返回错误提示
    if ($category) {
        return $category->count;
    } else {
        return 'Category not found';
    }
}
// 注册Shortcode,Shortcode名为 'count_id'
add_shortcode('count_id', 'count_id');

使用方式

在页面直接输入以下代码,这样直接就是数字
count_id id="5"

记得用[]包裹起来,我这不方便全部打出来

这个5即是对应的分类id
就这样,在发布对应分类的文章后,页面的数字在展示是就是实时数据了

注意事项:

  1. 编辑 functions.php 文件前,务必备份文件,以防止因代码错误导致的网站问题。
  2. Shortcode在前端执行,所以需要确保用户有执行PHP代码的权限,避免潜在的安全风险。

通过这种方法,你可以在WordPress的页面和文章中灵活地使用Shortcode来显示分类文章数量,且不需要每次手动插入PHP代码。

当然,这也是其中一种解决办法,只是比较符合我的使用习惯

如果有不动内置文件的就他妈更好了

反正不要钱,多少信一点。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇