WordPress.org

Make WordPress Core

Ticket #37094: 37094.2.patch

File 37094.2.patch, 1.3 KB (added by spacedmonkey, 4 years ago)
  • src/wp-includes/nav-menu.php

     
    593593        }
    594594
    595595        static $fetched = array();
    596 
    597         $items = get_objects_in_term( $menu->term_id, 'nav_menu' );
    598         if ( is_wp_error( $items ) ) {
    599                 return false;
    600         }
    601 
    602         $defaults = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item',
    603                 'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true );
    604         $args = wp_parse_args( $args, $defaults );
    605         $args['include'] = $items;
    606 
    607         if ( ! empty( $items ) ) {
    608                 $items = get_posts( $args );
    609         } else {
    610                 $items = array();
    611         }
     596        $defaults = array(
     597                'order'       => 'ASC',
     598                'orderby'     => 'menu_order',
     599                'post_type'   => 'nav_menu_item',
     600                'post_status' => 'publish',
     601                'output'      => ARRAY_A,
     602                'output_key'  => 'menu_order',
     603                'nopaging'    => true,
     604                'tax_query'   => array(
     605                        array(
     606                                'taxonomy' => 'nav_menu',
     607                                'terms'    => $menu->term_taxonomy_id,
     608                                'field'    => 'term_taxonomy_id'
     609                        ),
     610                )
     611        );
     612        $args     = wp_parse_args( $args, $defaults );
     613        $items    = get_posts( $args );
    612614
    613615        // Get all posts and terms at once to prime the caches
    614616        if ( empty( $fetched[$menu->term_id] ) || wp_using_ext_object_cache() ) {