调用WordPress父子分类目录

 

调用WordPress父子分类目录-狐狸库
WordPress

在WordPress当前分类或者正文页面,想调用显示与当前分类存在父子关系的分类目录时,会用到。

如:一个分类页面,想显示出自己的上级分类

代码一:

将下面代码加到主题模板适当位置,比如侧边栏:

<?php
    $current = \"\";
    if(is_single()){
        $parent = get_the_category();
        $parent = $parent[0];
        $current = \"&current_category=\".$parent->term_id;
    }else if(is_category()){
        global $cat;
        $parent = get_category($cat);
    }
    if($parent->category_parent != 0){
        $cat_id = $parent->category_parent;
        $parent = get_category($cat_id);
        if($parent->category_parent != 0){
            $cat_id = $parent->category_parent;
        }else{
            $cat_id = $parent->term_id;
        }
    }else{
        $cat_id = $parent->term_id;
    }
?>
<?php if(!is_page()) { ?>
    <h3><?php echo $parent->cat_name; ?><span><?php echo $parent->slug; ?></span></h3>
    <ul id=\"cat_list\">
        <?php wp_list_categories(\"title_li=&child_of=$cat_id\".$current); ?>   
    </ul>
<?php } ?>

代码二:

将下面代码加到主题function.php模板文件中:

function get_category_root_id($cat)
{
    $this_category = get_category($cat); // 取得当前分类
    while($this_category->category_parent) // 若当前分类有上级分类时,循环
    {
        $this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
    }
    return $this_category->term_id; // 返回根分类的id号
}

调用显示代码加到主题模板的适当位置:

<?php
    if(is_category())
    {
        if(get_category_children(get_category_root_id(the_category_ID(false)))!= \"\" )
        {
            echo \'<ul>\';
            echo wp_list_categories(\"child_of=\".get_category_root_id(the_category_ID(false)). \"&depth=0&hide_empty=0&title_li=&orderby=id&order=ASC\");
            echo \'</ul>\';
        }
    }
?>
温馨提示: 本文最后更新于2022/10/20 12:49:19若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容