2016-03-23 2 views
1

Этот код выводит список категорий, однако мне нужно показывать дочерние категории текущей категории. Есть идеи?WordPress: выплюнуть список детей Категории?

<ul class="categoryNav"> 
     <?php 
      $args = array(
      'show_option_all' => '', 
      'orderby'   => 'name', 
      'order'    => 'ASC', 
      'style'    => 'list', 
      'show_count'   => 0, 
      'hide_empty'   => 1, 
      'child_of'   => 0, 
      'feed'    => '', 
      'feed_type'   => '', 
      'exclude'   => '', 
      'exclude_tree'  => '', 
      'include'   => '', 
      'hierarchical'  => 1, 
      'title_li'   => __(''), 
      'show_option_none' => __(''), 
      'number'    => null, 
      'echo'    => 1, 
      'depth'    => 1, 
      'current_category' => 0, 
      'pad_counts'   => 0, 
      'taxonomy'   => 'product_cat', 
      'walker'    => null 
      ); 
      wp_list_categories($args); 
     ?> 
    </ul> 

ответ

1

я нашел следующее, кажется, работает:

$cat = get_queried_object(); 
$cat_id = $cat->term_id; 
$args = array(
'style' => 'list', 
    'hide_empty' => 1, 
    'child_of' => $cat_id, 
    'hierarchical' => 1, 
    'depth' => 1, 
    'taxonomy' => 'product_cat' 
); 
wp_list_categories($args); 

Я надеюсь, что другие считают это полезным:] Этот метод не кажется, документально нигде, насколько я знаю , Он идеально подходит для навигации по категориям.

0

У вас есть параметр child_of запроса установлен в 0. Установите его в категорию, просматриваемую в данный момент. Как:

$cat_id = get_query_var('cat'); 
$args = array(
    ... 
    'child_of'   => $cat_id, 
    ... 
); 
wp_list_categories($args); 
+0

Я пробовал это, и все категории, которые я создал, отображаются в подкатегориях –

+0

, кажется, что $ cat_id все еще 0. попробуйте вручную установить его на нужный вам идентификатор и написать функцию, которая устанавливает он динамически зависит от того, где вы находитесь – niklas

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