首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将父类别显示为标题,并在下面显示子项

将父类别显示为标题,并在下面显示子项
EN

Stack Overflow用户
提问于 2021-03-12 11:26:54
回答 1查看 230关注 0票数 0

我有一个祖父母类别,由子女和孙子组成,如下:

03

  1. 祖父母猫
    • 儿童猫01
      • 孙辈猫01
      • 孙女猫

代码语言:javascript
运行
复制
- Child Cat 02 
    - Grandchild Cat 01
    - Grandchild Cat 02
    - Grandchild Cat 03

我想循环这些在一个主要祖父母类别页面,并显示每个孩子的标题,与孙辈下面的链接。

到目前为止,我看到的是所有的孩子和孙子,但没有区分这两种.

代码语言:javascript
运行
复制
        <?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
        
        } ?>

我需要一条规则如果我有孩子..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-12 11:34:08

通过检查类别是否有父类,这相对比较简单。

代码语言:javascript
运行
复制
<?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;
    
    } ?>

另外一种递归方法,取决于您需要什么。

代码语言:javascript
运行
复制
<?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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66599045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档