arborescence de taxonomie personnalisée

4

J'ai essayé Google pour cela, mais ce n’est pas si facile à rechercher. J'ai une taxonomie hiérarchique personnalisée, qui ressemble à:

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 de chez moi est de:

$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

    
posée Andy 16.01.2012 - 20:59

2 réponses

5
<?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. enlace

    
réponse donnée Rob Vermeer 16.01.2012 - 21:04
4

Voici quelque chose que j'ai préparée:

<?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');
?>
    
réponse donnée Manny Fleurmond 16.01.2012 - 21:19

Lire d'autres questions sur les étiquettes