欢迎光临
我们一直在努力

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;
}
赞(0) 打赏
未经允许不得转载:WORDPRESS大侠 » WordPress 文章设置多个分类时按照层级顺序显示的方法

评论 抢沙发

评论前必须登录!

 

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册