Wie bekomme ich die Elternkategorie, wenn ich die Kindkategorie kenne?

Also habe ich diese function hier, die ein Dropdown-Menü nur aus den Unterkategorien erstellt, es funktioniert großartig.

Das Problem ist, dass ich den Namen der übergeordneten Kategorien abrufen und ihn als Wert der Optionsklasse für die untergeordneten Kategorienmenüs zuweisen muss. Ich kann es nicht zur Arbeit bringen, alles, was ich bekomme, ist entweder ‘/’ oder ‘/ child_Category_name /’

Vielen Dank!

function child_dropdown($dropID, $taxonomy, $exclude) { $args = array( 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 0, 'hierarchical' => 1, 'exclude' => $exclude, 'taxonomy' => $taxonomy, 'pad_counts' => false ); $categories = get_categories( $args ); $menu = ''; $menu .='--'; foreach($categories as $category) { if($category->parent != 0 ) { $menu .= 'name.'">'.$category->name.''; } } $menu .= ''; echo $menu; 

}

Solutions Collecting From Web of "Wie bekomme ich die Elternkategorie, wenn ich die Kindkategorie kenne?"

get_category_parents() erfordert, dass die Kategorie-ID als erster Parameter übergeben wird, und gibt zurück eine Anordnung eine Zeichenfolge aller Eltern, getrennt durch / standardmäßig. Sie können dies in ein Leerzeichen ändern, um sie in Ihre classnliste aufzunehmen:

 foreach ( $categories as $category ) { // Get the parents, separated by a space $parents = get_category_parents( $category->id, false, ' ' ); // If $parents isn't an error, carry on if ( ! is_a( $parents, 'WP_Error' ) ) { $menu .= ''; } } 

Wenn Sie alle Arten von Verrücktheiten bekommen möchten, können Sie auch Ihren HTML-Code wie folgt ausdrucken:

 $menu .= sprintf( "", esc_attr( $parents ), esc_attr( $category->name ), esc_attr__( $category->name ) );