列出当前类别的上级类别的类别

时间:2014-06-08 作者:arvil

假设我有这个类别结构

一、超级A类、迷你A类。迷你猫b、迷你猫c、超级猫b、迷你猫a、迷你猫ii。小型cat b

  • iii.小型cat c
    • 此代码:

      <?php if (get_categories(\'child_of=\'.$cat.\'&hide_empty=0\')) { ?>
              <div class="category-wrapper">
                <ul class="child-categories">
                          <?php wp_list_categories(\'show_count=0&child_of=\'.$cat.\'&hide_empty=0&title_li=\'); ?>
                </ul>
              </div>
      <?php   } ?>
      
      如果我在,则启用Super Cat A 它将列出所有迷你cat a-c,

      我想补充的是,如果我mini cat amini cat bmini cat c, 它将列出其父类别的其他子类别,例如:

      当前位置:mini cat b

      将列出:mini cat a &;mini cat c

      任何人

      提前感谢,更多动力。

    1 个回复
    最合适的回答,由SO网友:engelen 整理而成

    假设只有两个级别的类别,可以先检索父类别,然后列出子类别。此外,呼叫get_childrenwp_list_categories 使用的资源比需要的多,仅使用wp_list_categories 就足够了。我已经在下面的代码片段中解释了我的答案,它的行为应该完全符合您的需要!

    $category_id = get_query_var( \'cat\' ); // Get current catgory ID
    $category = get_term( $category_id, \'category\' ); // Fetch category term object
    
    // Now, we check if the category has a parent
    // If it has, we use that ID
    // If it doesn\'t have a parent, it is a parent category itself and we use its own ID
    $parent = $category->parent ? $category->parent : $category_id;
    
    $args = array(
        \'show_count\' => false,
        \'hide_empty\' => false,
        \'title_li\' => \'\',
        \'show_option_none\' => \'\',
        \'echo\' => false
    );
    
    // Show the children of parent category
    if ( $category->parent ) {
        $args[\'child_of\'] = $category->parent;
        $args[\'exclude\'] = $category_id; // Don\'t display the current category in this list
    }
    else {
        $args[\'child_of\'] = $category_id;
    }
    
    // Get the category list
    $categories_list = wp_list_categories( $args );
    
    if ( $categories_list ) {
        ?>
        <div class="category-wrapper">
            <ul class="child-categories">
                <?php echo $categories_list; ?>
            </ul>
        </div>
        <?php
    }
    

    结束

    相关推荐

    Get all media categories

    我为medias帖子类型添加了一个新的分类法:function register_taxonomy_for_images() { register_taxonomy_for_object_type(\'category\', \'attachment\'); } add_action(\'init\', \'register_taxonomy_for_images\'); 我还通过wordpress管理员添加了一些类别。如何获取我添加的所有媒体类