J'ai essayé Google pour cela, mais ce n'est pas si facile à rechercher. J'ai une taxonomie hiérarchique personnalisée, quelque chose comme:
Chainsaws
- Electric
- Petrol
- Other
Grasscutters
- Electric
- Petrol
- Other
Ce que je dois faire, c'est créer une page d'index en conservant la structure hiérarchique.
Le plus proche je suis venu à le faire est avec:
$products = get_terms('product-type');
foreach ($products as $product) {
$out .= $product->name;
}
Mais cela ne montre que ceux qui sont utilisés, et perd la hiérarchie :(
Toutes les idées sont les bienvenues.
Merci d'avance
Andy
<?php
$args = array(
'taxonomy' => 'product-type',
'hierarchical' => true,
'title_li' => '',
'hide_empty' => false
);
?>
<ul>
<?php wp_list_categories( $args ); ?>
</ul>
Vous pouvez utiliser la fonction wp_list_categories également pour les taxonomies. http://codex.wordpress.org/Template_Tags/wp_list_categories
Voici quelque chose que j'ai fouetté:
<?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');
?>