WordPress.org

Make WordPress Core

Ticket #37094: 37094.patch

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

     
    623623
    624624        static $fetched = array();
    625625
    626         $items = get_objects_in_term( $menu->term_id, 'nav_menu' );
    627         if ( is_wp_error( $items ) ) {
    628                 return false;
    629         }
     626        $defaults = array(
     627                'order'       => 'ASC',
     628                'orderby'     => 'menu_order',
     629                'post_type'   => 'nav_menu_item',
     630                'post_status' => 'publish',
     631                'output'      => ARRAY_A,
     632                'output_key'  => 'menu_order',
     633                'nopaging'    => true,
     634                'tax_query'   => array(
     635                        array(
     636                                'taxonomy' => 'nav_menu',
     637                                'terms'    => $menu->term_id,
     638                        ),
     639                )
     640        );
     641        $args     = wp_parse_args( $args, $defaults );
     642        $items    = get_posts( $args );
    630643
    631         $defaults = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item',
    632                 'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true );
    633         $args = wp_parse_args( $args, $defaults );
    634         $args['include'] = $items;
    635 
    636         if ( ! empty( $items ) ) {
    637                 $items = get_posts( $args );
    638         } else {
    639                 $items = array();
    640         }
    641 
    642644        // Get all posts and terms at once to prime the caches
    643645        if ( empty( $fetched[$menu->term_id] ) || wp_using_ext_object_cache() ) {
    644646                $fetched[$menu->term_id] = true;