我试图显示一个菜单,其中包含当前父类别的所有子类别,而不是父类别。看起来很简单,但我不想删除父名称,或在单个帖子中显示子类别。
这是我当前正在使用的代码
<?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 } ?>
答案 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
的所有子类别
希望这会对您有所帮助。如果您有任何疑问,请告诉我。