Visualização de árvore de taxonomia personalizada

4

Eu tenho tentado o google por isso, mas não é tão fácil de pesquisar. Eu tenho uma taxonomia hierárquica personalizada, algo nos moldes de:

Chainsaws
- Electric
- Petrol
- Other
Grasscutters
- Electric
- Petrol
- Other

O que eu preciso fazer é criar uma página de índice, mantendo a estrutura hierárquica.

O mais próximo que cheguei é:

$products = get_terms('product-type');
foreach ($products as $product) {
      $out .= $product->name;
}

Mas isso mostra apenas os que estão em uso e perde a hierarquia: (

Todas as ideias são muito bem-vindas.

Obrigado antecipadamente

Andy

    
por Andy 16.01.2012 / 20:59

2 respostas

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

<ul>
<?php wp_list_categories( $args ); ?>
</ul>

Você pode usar a função wp_list_categories também para taxonomias. enlace

    
por Rob Vermeer 16.01.2012 / 21:04
4

Aqui está algo que eu preparei:

<?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');
?>
    
por Manny Fleurmond 16.01.2012 / 21:19