Fügen Sie eine Body-class der übergeordneten Kategorie hinzu

Ich bin kein Programmierer, aber ich komme normalerweise mit WordPress zurecht, indem ich forsche und meine Lösung finde. Ich kann dieses Mal nicht herausfinden, was ich tun muss, also habe ich versucht, Code zusammenzuschreiben – was ich versuche zu tun, ist, wenn ich im Kategorie-Archiv bin, möchte ich eine Body-class der Kategorie Eltern hinzufügen. Dies ist, was ich versucht habe und es funktioniert abgesehen von ich bekomme die Eltern Kategorie ID, aber ich möchte die Slug / nicename:

add_filter('body_class','hw_custom_body_class'); function hw_custom_body_class($classes){ if(is_category()){ $categories = get_the_category(); $category = strtolower($categories[0]->category_parent); $classes[]='category-'.$category; return $classes; }} 

Solutions Collecting From Web of "Fügen Sie eine Body-class der übergeordneten Kategorie hinzu"

Verwenden Sie get_ancestors() , um die übergeordneten Begriffe zu erhalten. Hier ist ein Auszug aus meinem Plugin T5 Eltern Begriffe in body_class :

  $ancestors = get_ancestors( get_queried_object_id(), get_queried_object()->taxonomy ); if ( empty ( $ancestors ) ) { return $classes; } foreach ( $ancestors as $ancestor ) { $term = get_term( $ancestor, get_queried_object()->taxonomy ); $new_classes[] = esc_attr( "parent-$term->taxonomy-$term->slug" ); } 

Dies funktioniert mit jeder Taxonomie, nicht nur mit Kategorien.