Prime post term caches for nav menu items. Avoid doing so in frontend template functions as it remains unneeded there. see #22189.

git-svn-id: https://develop.svn.wordpress.org/trunk@22233 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin 2012-10-15 14:17:50 +00:00
parent 70c394fb79
commit 32687208c3
2 changed files with 3 additions and 4 deletions

View File

@ -155,7 +155,7 @@ function wp_nav_menu( $args = array() ) {
if ( ! $menu && !$args->theme_location ) { if ( ! $menu && !$args->theme_location ) {
$menus = wp_get_nav_menus(); $menus = wp_get_nav_menus();
foreach ( $menus as $menu_maybe ) { foreach ( $menus as $menu_maybe ) {
if ( $menu_items = wp_get_nav_menu_items($menu_maybe->term_id) ) { if ( $menu_items = wp_get_nav_menu_items( $menu_maybe->term_id, array( 'update_post_term_cache' => false ) ) ) {
$menu = $menu_maybe; $menu = $menu_maybe;
break; break;
} }
@ -164,7 +164,7 @@ function wp_nav_menu( $args = array() ) {
// If the menu exists, get its items. // If the menu exists, get its items.
if ( $menu && ! is_wp_error($menu) && !isset($menu_items) ) if ( $menu && ! is_wp_error($menu) && !isset($menu_items) )
$menu_items = wp_get_nav_menu_items( $menu->term_id ); $menu_items = wp_get_nav_menu_items( $menu->term_id, array( 'update_post_term_cache' => false ) );
/* /*
* If no menu was found: * If no menu was found:

View File

@ -483,8 +483,7 @@ function wp_get_nav_menu_items( $menu, $args = array() ) {
return $items; return $items;
$defaults = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item', $defaults = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item',
'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true, 'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true );
'update_post_term_cache' => false );
$args = wp_parse_args( $args, $defaults ); $args = wp_parse_args( $args, $defaults );
if ( count( $items ) > 1 ) if ( count( $items ) > 1 )
$args['include'] = implode( ',', $items ); $args['include'] = implode( ',', $items );