get_category Anzeige nur 1

Ich habe diesen Code gefunden, der perfekt funktioniert, an dem ich arbeite, aber kleinere Änderungen benötigt. Was ich brauche, ist nur die Unterkategorien des Elterns anzuzeigen.

Wie ändere ich die get_categories() um nur die benötigten Kategorien zu erhalten? Denn dadurch werden alle verfügbaren Kategorien angezeigt.

 function ba_SearchFilter($query) { if (!$query->is_search) { return $query; } if (isset($_POST['cat'])){ $query->set('category__and', $_POST['cat']); } if (isset($_POST['tags'])){ $query->set('tag__and', $_POST['tags']); } return $query; } //hook filters to search add_filter('pre_get_posts','ba_SearchFilter'); function ba_search_with_filters(){ $out = ''; return $out; } add_shortcode('search_with_filter','ba_search_with_filters'); 

Solutions Collecting From Web of "get_category Anzeige nur 1"

Ein Argument für die $categories hinzugefügt Geben Sie die ID des übergeordneten Elements ein, um alle Unterkategorien anzuzeigen.

 function ba_SearchFilter($query) { if (!$query->is_search) { return $query; } if (isset($_POST['cat'])){ $query->set('category__and', $_POST['cat']); } if (isset($_POST['tags'])){ $query->set('tag__and', $_POST['tags']); } return $query; } //hook filters to search add_filter('pre_get_posts','ba_SearchFilter'); function ba_search_with_filters(){ $out = ''; return $out; } add_shortcode('search_with_filter','ba_search_with_filters'); 

Holen Sie sich die aktuelle Kategorie basierend auf $_POST . Dann erhalten Sie alle untergeordneten Kategorien.

 $args = array(); if ( isset( $_POST['cat'] ) ) { $args = array( 'child_of' => (int) $_POST['cat'] ); } $categories = get_categories( $args ); 

Ersetzen Sie unter zwei Zeilencode:

$categories= get_categories(); zu $categories= get_categories(array('hide_empty' => 0 ));

und

$tags= get_categories(); zu $tags= get_categories(array('hide_empty' => 0 ));

Ich füge array('hide_empty' => 0 ) Parameter hinzu, um die leere Liste zu überspringen. Hoffe das hilft dir gut!