Custom Taxonomy Tree view

时间:2012-01-16 作者:Andy

我一直在用谷歌搜索这个,但搜索起来并不容易。我有一个自定义的层次分类法,大致如下:

Chainsaws
- Electric
- Petrol
- Other
Grasscutters
- Electric
- Petrol
- Other
我需要做的是创建一个索引页,保留层次结构。

我最接近的方法是:

$products = get_terms(\'product-type\');
foreach ($products as $product) {
      $out .= $product->name;
}
但这只显示了正在使用的,并失去了层次结构:(

欢迎您提出任何见解。

提前感谢

安迪

2 个回复
最合适的回答,由SO网友:Rob Vermeer 整理而成

<?php
$args = array(
  \'taxonomy\'     => \'product-type\',
  \'hierarchical\' => true,
  \'title_li\'     => \'\',
  \'hide_empty\'   => false
);
?>

<ul>
<?php wp_list_categories( $args ); ?>
</ul>
您还可以将wp\\u list\\u categories功能用于分类。http://codex.wordpress.org/Template_Tags/wp_list_categories

SO网友:Manny Fleurmond

以下是我突然想到的:

<?php
//Walker function
function custom_taxonomy_walker($taxonomy, $parent = 0)
{
    $terms = get_terms($taxonomy, array(\'parent\' => $parent, \'hide_empty\' => false));
    //If there are terms, start displaying
    if(count($terms) > 0)
    {
        //Displaying as a list
        $out = "<ul>";
        //Cycle though the terms
        foreach ($terms as $term)
        {
            //Secret sauce.  Function calls itself to display child elements, if any
            $out .="<li>" . $term->name . custom_taxonomy_walker($taxonomy, $term->term_id) . "</li>"; 
        }
        $out .= "</ul>";    
        return $out;
    }
    return;
}

//Example
echo custom_taxonomy_walker(\'category\');
?>

结束

相关推荐