2016-03-23 6 views
1

Dieser Code spuckt eine Liste von Kategorien aus, ich muss jedoch nur die untergeordneten Kategorien der aktuell angezeigten Kategorie anzeigen. Irgendwelche Ideen?WordPress: Spit Out Liste der Kinderkategorien?

<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> 

Antwort

1

fand ich folgendes zu funktionieren scheint:

$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); 

ich andere hoffen, finden diese hilfreich:] Diese Methode nirgendwo anders so weit dokumentiert zu sein scheint, wie ich bin mir bewusst, . Es ist perfekt für die Kategorie Navigation.

0

Sie haben die child_of Abfrageparameter zu 0 gesetzt. Stellen Sie es auf die aktuell angezeigte Kategorie ein. Wie:

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

Ich habe es versucht und alle Kategorien, die ich erstellt habe, scheinen in den Unterkategorien –

+0

angezeigt wird, es scheint, dass $ cat_id immer noch 0. Versuchen Sie es manuell auf eine ID setzen und schreiben Sie eine Funktion, die setzt Es hängt davon ab, wo Sie sind – niklas

Verwandte Themen