2015-03-08 6 views
0

Я создал шаблон таксономического архива для CTP. На этой странице, прежде чем я перечислил все сообщения текущей таксономии - я хочу перечислить все дочерние категории текущей таксономии.Получить только дочерние категории первого уровня текущей категории

То, что мне удалось отобразить, - это весь список дочерних категорий этой таксономии, но мне нужно отфильтровать детей второго уровня.

, например:
-Taxonomy
--child-taxonomy1
--child-taxonomy2
---- ребенок ребенка-taxonomy2

Я хочу, чтобы отобразить только "ребенок-taxonomy1" и "ребенок-taxonomy2"

Вот мой код до сих пор: http://www.codeshare.io/MQ4YT

ответ

0

Используйте этот код

<ul> 
<?php 
global $post; 
// grab terms of current post, replace taxonomy name 
$terms = get_the_terms($post->ID, 'name_of_custom_taxonomy'); 
// define arguments of following listing function 
$args = array (
    'child_of' => $terms[0], // current post's (first) category 
    'title_li' => '', // disable display of outer list item 
    'taxonomy' => 'name_of_custom_taxonomy' // replace as well 
); 
// list child categories 
wp_list_categories($args); 
?> 
</ul> 
+0

вы посмотрите на мой код? Я пытаюсь попасть на страницу архива таксономии, а не в сообщение. – gargi

0
$taxonomy_name = 'product-category'; 
      $queried_object = get_queried_object(); 
      $term_id = $queried_object->term_id; 

      $termchildren = get_terms($taxonomy_name, array('parent' => $term_id, 'hide_empty' => false)); 

      echo '<ul>'; 
      foreach ($termchildren as $child) { 
       echo '<li><a href="' . get_term_link($child, $taxonomy_name) . '">' . $child->name . '</a></li>'; 
      } 
      echo '</ul>'; 

работает как шарм :)

Смежные вопросы