Fügen Sie die Eltern-ID zu body_class hinzu

Was ist der beste Weg, um die Eltern-ID einer Seite zum <body > <body > function?

Ich verwende derzeit die folgende function, um die Eltern-ID eines Menüelements für eine andere Verwendung abzurufen; Irgendeine Idee, wie man das in die Body-Class bringt?

 function get_menu_parent_ID( $menu_name ) { if ( ! isset( $menu_name ) ) { return "No menu name provided in arguments"; } $menu_slug = $menu_name; $locations = get_nav_menu_locations(); $menu_id = $locations[$menu_slug]; $post_id = get_the_ID(); $menu_items = wp_get_nav_menu_items( $menu_id ); $parent_item_id = wp_filter_object_list( $menu_items, array( 'object_id' => $post_id ), 'and', 'menu_item_parent' ); $parent_item_id = array_shift( $parent_item_id ); function checkForParent( $parent_item_id, $menu_items ) { $parent_post_id = wp_filter_object_list( $menu_items, array( 'ID' => $parent_item_id ), 'and', 'object_id' ); $parent_item_id = wp_filter_object_list( $menu_items, array( 'ID' => $parent_item_id ), 'and', 'menu_item_parent' ); $parent_item_id = array_shift( $parent_item_id ); if ( $parent_item_id == "0" ) { $parent_post_id = array_shift( $parent_post_id ); return $parent_post_id; } else { return checkForParent( $parent_item_id, $menu_items ); } } if ( ! empty( $parent_item_id ) ) { return checkForParent( $parent_item_id, $menu_items ); } else { return $post_id; } } 

Dann drucke es in einer Vorlage wie folgt:

 $parentID = get_menu_parent_ID( 'primary' ); 

Solutions Collecting From Web of "Fügen Sie die Eltern-ID zu body_class hinzu"

Verwenden des body_class- Filters

 // Use the filter 'body_class' add_filter( 'body_class', 'parent_id_body_class' ); function parent_id_body_class( $classes ) { // add parent id number to the $classes array $classes[] = wp_get_post_parent_id( $post_ID ); // return the $classes array return $classes; } 

Wie auch immer, ich empfehle Ihnen, der ID-Nummer einen Text hinzuzufügen, um ihn wie folgt umfassender zu gestalten:

 // Use the filter 'body_class' add_filter( 'body_class', 'parent_id_body_class' ); function parent_id_body_class( $classes ) { // add comprehensive text followed by parent id number to the $classes array $classes[] = 'parent-id-' . wp_get_post_parent_id( $post_ID ); // return the $classes array return $classes; } 

Ich hoffe, es hilft.