WordPress.org

Make WordPress Core

Changeset 13368


Ignore:
Timestamp:
02/24/2010 08:45:26 AM (11 years ago)
Author:
ryan
Message:

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

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/nav-menus.php

    r13367 r13368  
    3131
    3232function wp_reset_nav_menu() {
    33     wp_custom_navigation_setup(true);
     33    wp_nav_menu_setup(true);
    3434
    3535    return true;
  • trunk/wp-content/themes/twentyten/header.php

    r13157 r13368  
    5151            <div id="access">
    5252                <div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>"><?php _e( 'Skip to content', 'twentyten' ); ?></a></div>
    53                 <?php wp_page_menu( 'sort_column=menu_order' ); ?>
     53                <?php wp_nav_menu( 'sort_column=menu_order' ); ?>
    5454            </div><!-- #access -->
    5555
  • trunk/wp-includes/default-widgets.php

    r13361 r13368  
    11271127                            //DISPLAY custom navigation menu
    11281128                            if ( get_option('wp_custom_nav_menu') == 'true' )
    1129                                 wp_nav_menu( array('id' => $navmenu, 'name' => $wp_custom_nav_menu_name, 'desc' => $navwidgetdescription) );
     1129                                wp_nav_menu( array('id' => $navmenu, 'name' => $wp_custom_nav_menu_name, 'desc' => $navwidgetdescription, 'format' => 'widget') );
    11301130                        ?>
    11311131
  • trunk/wp-includes/nav-menu-template.php

    r13366 r13368  
    99 */
    1010function wp_nav_menu( $args = array() ) {
     11    $defaults = array('id' => '', 'slug' => '', 'menu_class' => 'menu', 'format' => 'div');
     12    $args = wp_parse_args($args, $defaults);
     13    $args = (object) $args;
     14
     15    $menu = null;
     16    if ( !empty($args->id) ) {
     17        $menu = wp_get_nav_menu( $args->id );
     18    } elseif ( !empty($args->slug) ) {
     19        $menu = get_term_by('slug', $args->slug, 'nav_menu');
     20    } else {
     21        $menus = wp_get_nav_menus();
     22        foreach ( $menus as $menu_maybe ) {
     23            if ( wp_get_nav_menu_items($menu_maybe->term_id) ) {
     24                $menu = $menu_maybe;
     25                break;
     26            }
     27        }
     28    }
     29
     30    if ( !$menu || is_wp_error($menu) )
     31        return wp_page_menu( $args );
     32
     33    if ( 'div' == $args->format )
     34        echo '<div class="' . esc_attr($args->menu_class) . '"><ul>';
     35
     36    $args->id = $menu->term_id;
     37
    1138    wp_print_nav_menu($args);
     39       
     40    if ( 'div' == $args->format )
     41        echo '</ul></div>';
    1242}
    1343
Note: See TracChangeset for help on using the changeset viewer.