Fallback to wp_page_menu() from wp_nav_menu() if no menus are setup. Use wp_nav_menu() in twentyten. see #11817

git-svn-id: https://develop.svn.wordpress.org/trunk@13368 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren
2010-02-24 08:45:26 +00:00
parent e92f08f0dd
commit ed332ce2bd
4 changed files with 33 additions and 3 deletions
+1 -1
View File
@@ -1126,7 +1126,7 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
<?php
//DISPLAY custom navigation menu
if ( get_option('wp_custom_nav_menu') == 'true' )
wp_nav_menu( array('id' => $navmenu, 'name' => $wp_custom_nav_menu_name, 'desc' => $navwidgetdescription) );
wp_nav_menu( array('id' => $navmenu, 'name' => $wp_custom_nav_menu_name, 'desc' => $navwidgetdescription, 'format' => 'widget') );
?>
<?php
+30
View File
@@ -8,7 +8,37 @@
* @param array $args Arguments
*/
function wp_nav_menu( $args = array() ) {
$defaults = array('id' => '', 'slug' => '', 'menu_class' => 'menu', 'format' => 'div');
$args = wp_parse_args($args, $defaults);
$args = (object) $args;
$menu = null;
if ( !empty($args->id) ) {
$menu = wp_get_nav_menu( $args->id );
} elseif ( !empty($args->slug) ) {
$menu = get_term_by('slug', $args->slug, 'nav_menu');
} else {
$menus = wp_get_nav_menus();
foreach ( $menus as $menu_maybe ) {
if ( wp_get_nav_menu_items($menu_maybe->term_id) ) {
$menu = $menu_maybe;
break;
}
}
}
if ( !$menu || is_wp_error($menu) )
return wp_page_menu( $args );
if ( 'div' == $args->format )
echo '<div class="' . esc_attr($args->menu_class) . '"><ul>';
$args->id = $menu->term_id;
wp_print_nav_menu($args);
if ( 'div' == $args->format )
echo '</ul></div>';
}
function wp_print_nav_menu( $args = array() ) {