Vista de árbol de taxonomía personalizada

4

He estado intentando Google para esto, pero no es tan fácil de buscar. Tengo una taxonomía jerárquica personalizada, algo como:

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

Lo que necesito hacer es crear una página de índice, manteniendo la estructura jerárquica.

Lo más cerca que he estado de hacerlo es con:

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

Pero esto solo muestra los que están en uso y pierde su jerarquía :(

Cualquier información es muy bienvenida.

Gracias de antemano

Andy

    
pregunta Andy 16.01.2012 - 20:59

2 respuestas

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

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

También puede utilizar la función wp_list_categories para taxonomías. enlace

    
respondido por el Rob Vermeer 16.01.2012 - 21:04
4

Aquí hay algo que avancé:

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

Lea otras preguntas en las etiquetas