Exibir tipo de postagem personalizado em ordem hierárquica com get_terms

Como posso exibir um tipo de publicação personalizado com uma taxonomia personalizada (categoria de produto) em uma lista, em ordem hierárquica?

Gostaria de obtê-los nesta ordem:

h3.parentcategory 1 -h4.childcategory 1 -li.product of childcategory 1 -li.product of childcategory 1 -h4.childcategory 2 -li.product of childcategory 2 -li.product of childcategory 2 h3.parentcategory 2 -h4.childcategory 1 of parent 2 

Infelizmente, não posso envolver minha cabeça em torno do segundo nível (categoria infantil 1 e 2). Estou usando este código para exibir categoria e produto:

 $custom_terms = get_terms( 'productcategory' ); foreach ( $custom_terms as $custom_term ) { wp_reset_query(); $args = array( 'post_type' => 'product', 'tax_query' => array( array( 'taxonomy' => 'productcategories', 'field' => 'slug', 'terms' => $custom_term->slug, 'orderby' => 'term_group', ), ), ); $loop = new WP_Query( $args ); if ( $loop->have_posts() ) { echo '

' . $custom_term->name . '

'; while ( $loop->have_posts() ) : $loop->the_post(); get_the_title(); endwhile; } }

Preciso de ajuda para descobrir os níveis nesteds desta lista.

Estou editando isso para tentar esclarecer: obrigado até agora por ajudar os caras. e desculpe por ser um noob na postagem …

O que estou tentando fazer é listar produtos que fazem parte de uma subcategoria, essas subcategorias podem ser parte de uma grande família (Maincategory). Estou tentando agrupar subcategorias em uma categoria Principal.

 vegetables (Main) -tomatoes (sub) -red tomatoe sweet (product) -pink tomatoe sour (product) -cucumber (sub) -some kind of cucumber(product) fruits (Main) -apple(sub) -sweet apple (product) -Golden delicious (product) 

Solutions Collecting From Web of "Exibir tipo de postagem personalizado em ordem hierárquica com get_terms"

Experimente algo como isto:

 < ?php $parent_terms = get_terms( 'name_of_your_taxonomy', array( 'parent' => 0, ) ); foreach( $parent_terms as $parent_term ) { $child_terms = get_terms( 'name_of_your_taxonomy' array( 'child_of' => $parent_term->term_id, ) ); foreach( $child_terms as $child_term ) { $args = array( 'post_type' => 'product', 'tax_query' => array( array( 'taxonomy' => 'name_of_your_taxonomy', 'field' => 'slug', 'terms' => $child_term->slug, ), ), ); $loop = new WP_Query($args); if( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post(); echo '

' . $parent_term->name . '

'; echo '

' . $parent_term->name . '

'; echo get_the_title(); endwhile; endif; } } wp_reset_query();

Essencialmente, o que você está fazendo é:

  1. Obtendo todos os termos dos pais;
  2. Looping através dos termos dos pais e obter os filhos de cada termo;
  3. Looping através dos termos das crianças e obter postagens associadas com a criança.