如何显示所有页面上的所有子类别

时间:2018-11-28 08:52:11

标签: wordpress

我试图显示一个菜单,其中包含当前父类别的所有子类别,而不是父类别。看起来很简单,但我不想删除父名称,或在单个帖子中显示子类别。

这是我当前正在使用的代码

<?php if (is_front_page() or is_single() ) { ?>

        <?php } else { ?>

             <?php
             if (is_category() ) {
                $this_category = get_category($cat);
             }
             ?>
             <?php
             if($this_category->category_parent)
                $this_category = wp_list_categories('orderby=id&title_li=&use_desc_for_title=1');

                else
                $this_category = wp_list_categories('orderby=id&depth=1&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0");
                    if ($this_category) { ?> 
                    <ul>
                    <?php echo $this_category; ?>
                    </ul>

                <?php } ?>



<?php } ?>

2 个答案:

答案 0 :(得分:0)

您可以在想要显示子类别的位置使用以下代码

var as = [1,2,3];
var am = [1,2,3,4,5];
var al = [1,2,3,4,5,6,7];
var b  = ["a","b","c","d","e"];

var m = (a,b) => "...magic_here..."; 

m(as,b); // -> [1,"a",2,"b",3,"c","d","e"] 
m(am,b); // -> [1,"a",2,"b",3,"c",4,"d",5,"e"] 
m(al,b); // -> [1,"a",2,"b",3,"c",4,"d",5,"e",6,7] 

经过测试,效果很好。

答案 1 :(得分:0)

您可以使用get_terms($taxonomies, $args);

获取父级的所有子类别。

首先声明您的分类法,如下所示:

$taxonomies = array( 
    'category',
);

现在,您只需要在$args函数中传递get_terms参数,如下所示;

$args = array(
    'parent'         => $parent_term_id, // You can use parent id here
); 

$terms = get_terms($taxonomies, $args);

这样,您将获得$parent_term_id中已应用$args的所有子类别

希望这会对您有所帮助。如果您有任何疑问,请告诉我。