问题描述
- 祖父母猫
- 儿童猫 01
- 孙猫 01
- 孙猫 02
- 孙猫 03
- 儿童猫 02
- 孙猫 01
- 孙猫 02
- 孙猫 03
- 儿童猫 01
我想在主要的祖父母类别页面上循环浏览这些内容,并显示每个子标题,下面有孙链接。
到目前为止,我有这个显示所有孩子和孙子,但没有区分两者......
<?PHP
$this_category = get_category($cat);
$args = (array (
'orderby'=> 'id','depth' => '1','show_count' => '0','child_of' => $this_category->cat_ID,'echo' => '0'
));
$categories = get_categories( $args );
foreach ( $categories as $category ) {
echo $category->name
} ?>
如果有孩子,我需要一个规则......
解决方法
通过检查类别是否有父类别来识别这一点相对简单
<?php
$this_category = get_category($cat);
$args = (array (
'orderby'=> 'id','depth' => '1','show_count' => '0','child_of' => $this_category->cat_ID,'echo' => '0'
));
$categories = get_categories( $args );
foreach ( $categories as $category ) {
if (!$category->parent) {
echo 'Has no parent';
}
echo $category->name;
} ?>
或者使用递归方法,具体取决于您的需要
<?php
$this_category = get_category($cat);
function category_tree(int $categoryId = 0) {
$categories = get_categories([
'parent' => $categoryId,'echo' => 0,'orderby' => 'id','show_count' => 0
]);
if ($categories) {
foreach ($categories as $category) {
echo '<ul>';
echo '<li>';
echo $category->name;
category_tree($category->term_id);
}
}
echo '</li></ul>';
}
category_tree($this_category->cat_ID);