outputting taxonomy hierarchy

时间:2018-05-24 作者:Richard Thomas

我有一个网站,其中列出了侧导航的子类别列表。我需要将这些子类别划分为更具体的层次结构。它当前正在从父类别输出一个列表,但不显示超出该类别的层次结构。我有点被困在下一步了。

这就是我现在所拥有的:

  foreach($subcategory as $key => $val) {
    $args = array(
     \'posts_per_page\' => -1,
     \'post_type\' => \'storefront\',
     \'hierarchical\' => true, 
     \'child_of\' => $parent->term_id,
     \'post_status\' => array(\'publish\', \'private\'),
     \'taxonomy\' => \'sfcategory\',
     \'tax_query\' => array(
      array(
        \'taxonomy\' => \'sfcategory\',
        \'field\' => \'id\',
        \'terms\' => $val,
        \'child_of\' => $parent->term_id
        )
      )
     );              
    $countStorefront = get_posts($args);
    $count = count($countStorefront);

    if($count) {

   $html .= "<li><a href=\'".site_url(\'community?subcat=\').$val."\'>".$key."</a></li>";

    } else {
      $html .= "<li>".$key."</li>";
    }
  }
  $html .= "</div>";

1 个回复
SO网友:Krzysiek Dróżdż

好的,如果不应该在其中显示空术语,那么这将非常容易;)

你所要做的就是wp_list_categories 功能:

<ul>
    <?php
        wp_list_categories( array(
            \'taxonomy\' => \'sfcategory\',
            \'title_li\' => false,
            \'hide_empty\' => true // or false, as you wish
        ) );
    ?> 
</ul>

结束

相关推荐

Get_the_Terms()未返回预期结果

我已经创建了3个自定义分类法来标记我的帖子。我单身。php模板我正在尝试计算术语的数量,使用get_the_terms() 对于分配给帖子的每个自定义分类法,但它并没有产生我所期望的结果。我有两个自定义分类法,分别称为“大小”和“颜色”,我从这些分类法中得到的术语数量如下:<?php $sizeCount = count(get_the_terms($post->ID, \'sizes\')); $colorCount = count(get_the_terms