Ticket #14439: nav_menu.patch
File nav_menu.patch, 1.5 KB (added by , 15 years ago) |
---|
-
wp-includes/nav-menu.php
642 642 * @param string $object_type The type of object, such as "taxonomy" or "post_type." 643 643 * @return array The array of menu item IDs; empty array if none; 644 644 */ 645 function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type' ) {645 function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type', $menu_id=0 ) { 646 646 $object_id = (int) $object_id; 647 647 $menu_item_ids = array(); 648 648 649 $query_args = array( 650 'meta_key' => '_menu_item_object_id', 651 'meta_value' => $object_id, 652 'post_status' => 'any', 653 'post_type' => 'nav_menu_item', 654 'showposts' => -1, 655 ); 656 657 if( $menu_id ) { 658 $term = get_term($menu_id, 'nav_menu'); 659 $query_args = array_merge($query_args, array( 'taxonomy' => 'nav_menu', 'term' => $term->slug) ); 660 } 661 649 662 $query = new WP_Query; 650 $menu_items = $query->query( 651 array( 652 'meta_key' => '_menu_item_object_id', 653 'meta_value' => $object_id, 654 'post_status' => 'any', 655 'post_type' => 'nav_menu_item', 656 'showposts' => -1, 657 ) 658 ); 663 $menu_items = $query->query( $query_args); 664 659 665 foreach( (array) $menu_items as $menu_item ) { 660 666 if ( isset( $menu_item->ID ) && is_nav_menu_item( $menu_item->ID ) ) { 661 667 if ( get_post_meta( $menu_item->ID, '_menu_item_type', true ) != $object_type )