当前位置:首页>网站建设>WordPress 文章设置多个分类时按照层级顺序显示的方法

WordPress 文章设置多个分类时按照层级顺序显示的方法

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

WordPress 文章可以设置多个分类,但当你选择多个层级的分类时,前台可能并不是按照层级递进的顺序来显示,本文解决的就是这个问题。

以下方法是使用了WordPress的Hook,当使用函数 get_the_category()the_category() 的时候会自动按照层级顺序显示分类。

注意: DUX主题已经有此功能。

WordPress 文章设置多个分类时按照层级顺序显示的方法
将以下代码复制到主题文件 functions.php

/**
 * 文章多个分类时按照层级顺序显示
 * https://themebetter.com/wordpress-multi-cat-show.html
 */
add_filter('get_the_categories', 'tba_get_the_categories', 10, 1);
function tba_get_the_categories($categories) {
    usort($categories, function ($a, $b) {
        return $a->category_parent <=> $b->category_parent;
    });

    $newArr = array();
    $ids = array();

    foreach ($categories as $category) {
        $ids[] = $category->term_id;
        if ($category->parent == 0) {
            $newArr[] = $category;
        } else {
            $index = array_search($category->parent, $ids);
            array_splice($newArr, $index + 1, 0, array($category));
            array_splice($ids, $index + 1, 0, array($category->term_id));
        }
    }

    return $newArr;
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

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

WordPress免插件实现 FancyBox灯箱

2025-4-15 9:46:11

博客主题

WordPress自媒体主题:自媒体二号

2022-10-17 8:39:08

温馨提示:

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

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

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

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