If a nav menu has no menu items, print nothing (instead of empty container markup). props obenland. fixes #21576.
git-svn-id: http://core.svn.wordpress.org/trunk@21868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
a2b71e7fae
commit
a269ba85f7
|
@ -166,13 +166,19 @@ function wp_nav_menu( $args = array() ) {
|
||||||
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 );
|
||||||
|
|
||||||
// If no menu was found or if the menu has no items and no location was requested, call the fallback_cb if it exists
|
/*
|
||||||
|
* If no menu was found:
|
||||||
|
* - Fallback (if one was specified), or bail.
|
||||||
|
*
|
||||||
|
* If no menu items were found:
|
||||||
|
* - Fallback, but only if no theme location was specified.
|
||||||
|
* - Otherwise, bail.
|
||||||
|
*/
|
||||||
if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) )
|
if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) )
|
||||||
&& $args->fallback_cb && is_callable( $args->fallback_cb ) )
|
&& $args->fallback_cb && is_callable( $args->fallback_cb ) )
|
||||||
return call_user_func( $args->fallback_cb, (array) $args );
|
return call_user_func( $args->fallback_cb, (array) $args );
|
||||||
|
|
||||||
// If no fallback function was specified and the menu doesn't exists, bail.
|
if ( !$menu || is_wp_error( $menu ) || empty( $menu_items ) )
|
||||||
if ( !$menu || is_wp_error($menu) )
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
$nav_menu = $items = '';
|
$nav_menu = $items = '';
|
||||||
|
|
Loading…
Reference in New Issue