WordPress-类别和子类别的嵌套列表

我试图显示带有嵌套子类别的WordPress类别的列表。到目前为止, 我只能获得父类别列表或不包括父类别的子类别列表, 但是我无法将两者结合在一起。
这是我要创建的结果:

  • 父类别
    • 子类别
    • 子类别
  • 父类别
    • 子类别
  • 父类别
    • 子类别
    • 子类别
    • 子类别
编辑:
这样做的想法是创建一个自定义类别页面。 HTML如下:
< h1> Categories< /h1> < ul class="blocks"> < li> < img src="http://placehold.it/250x250" alt="title" /> < h2> Parent Category< /h2> < ul class="models"> < li> < a href="http://www.srcmini.com/#"> Sub Category< /a> < /li> < li> < a href="http://www.srcmini.com/#"> Sub Category< /a> < /li> < /ul> < /li> < li> < img src="http://placehold.it/250x250" alt="title" /> < h2> Parent Category< /h2> < ul class="models"> < li> < a href="http://www.srcmini.com/#"> Sub Category< /a> < /li> < li> < a href="http://www.srcmini.com/#"> Sub Category< /a> < /li> < li> < a href="http://www.srcmini.com/#"> Sub Category< /a> < /li> < /ul> < /li> < /ul>

#1你可以使用wp_list_categories()函数, 该函数使用以下默认值:
< ?php wp_list_categories(array( 'show_option_all'=> '', 'orderby'=> 'name', 'order'=> 'ASC', 'style'=> 'list', 'show_count'=> 0, 'hide_empty'=> 1, 'use_desc_for_title' => 1, 'child_of'=> 0, 'feed'=> '', 'feed_type'=> '', 'feed_image'=> '', 'exclude'=> '', 'exclude_tree'=> '', 'include'=> '', 'hierarchical'=> 1, 'title_li'=> __( 'Categories' ), 'show_option_none'=> __( 'No categories' ), 'number'=> null, 'echo'=> 1, 'depth'=> 0, 'current_category'=> 0, 'pad_counts'=> 0, 'taxonomy'=> 'category', 'walker'=> null )); ?>

因此, 从技术上讲, 你可以说:
wp_list_categories();

这将列出你的类别, 并按层次结构隐藏所有空类别, 并在所有类别上方添加标题” 类别” 。
编辑-父母与子女分开
【WordPress-类别和子类别的嵌套列表】你可以结合使用wp_list_categories()和get_categories()函数来尝试类似的操作。
< h1> Categories< /h1> < ul class="blocks"> < ?php $parents = get_categories(array('hierarchical' => false)); if(!empty($parents)){ foreach($parents as $parent){ ?> < li> < h2> < ?php echo $parent-> name; ?> < /h2> < ul class="models"> < ?php wp_list_categories(array('hierarchical' => false, 'child_of' => $parent-> term_id)); ?> < /ul> < /li> < ?php } } else { ?> < li> No Categories< /li> < ?php } ?> < /ul>

#2最好的选择是扩展Walker类以遍历类别… 最简单的方法是创建自己的Widget。
这是我之前创建的一个文件:https://www.dropbox.com/s/mazpb4cxmqracwo/adv_categories.zip
我不会假装它具有100%的功能, 但是它使我可以在博客上包含带有子类别的类别。

    推荐阅读