WordPress.org

Make WordPress Core

Ticket #23119: 23119.13.diff

File 23119.13.diff, 23.1 KB (added by lessbloat, 16 months ago)
  • wp-admin/includes/nav-menu.php

     
    8080                } 
    8181 
    8282                $title = empty( $item->label ) ? $title : $item->label; 
     83                 
     84                $submenu_text = ''; 
     85                if (0 == $depth) 
     86                        $submenu_text = 'style="display: none;"'; 
    8387 
    8488                ?> 
    8589                <li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode(' ', $classes ); ?>"> 
    8690                        <dl class="menu-item-bar"> 
    8791                                <dt class="menu-item-handle"> 
    88                                         <span class="item-title"><?php echo esc_html( $title ); ?></span> 
     92                                        <span class="item-title"><?php echo esc_html( $title ); ?> <span class="is-submenu" <?php echo $submenu_text; ?>><?php _e( 'sub item' ); ?></span></span> 
    8993                                        <span class="item-controls"> 
    9094                                                <span class="item-type"><?php echo esc_html( $item->type_label ); ?></span> 
    9195                                                <span class="item-order hide-if-js"> 
     
    382386 **/ 
    383387function wp_nav_menu_setup() { 
    384388        // Register meta boxes 
    385         if ( wp_get_nav_menus() ) 
    386                 add_meta_box( 'nav-menu-theme-locations', __( 'Theme Locations' ), 'wp_nav_menu_locations_meta_box' , 'nav-menus', 'side', 'default' ); 
    387         add_meta_box( 'add-custom-links', __('Custom Links'), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' ); 
    388         wp_nav_menu_post_type_meta_boxes(); 
    389         wp_nav_menu_taxonomy_meta_boxes(); 
     389        if ( wp_get_nav_menus() && ! isset( $_POST['menu-name'] ) && ! isset( $_GET['action'] ) || isset( $_GET['_wpnonce'] ) ) 
     390                add_meta_box( 'nav-menu-theme-locations', __( 'Menus within your theme' ), 'wp_nav_menu_locations_meta_box' , 'nav-menus', 'side', 'default' ); 
     391         
     392        $nav_menus = wp_get_nav_menus( array('orderby' => 'name') ); 
     393         
     394        if ( empty( $nav_menus ) || isset( $_POST['menu-name'] ) || isset( $_GET['action'] ) && ! isset( $_GET['_wpnonce'] ) ) { 
     395                add_meta_box( 'add-custom-links', __('Custom Links'), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' ); 
     396                wp_nav_menu_post_type_meta_boxes(); 
     397                wp_nav_menu_taxonomy_meta_boxes(); 
     398        } 
    390399 
    391400        // Register advanced menu items (columns) 
    392401        add_filter( 'manage_nav-menus_columns', 'wp_nav_menu_manage_columns'); 
     
    489498        $menu_locations = get_nav_menu_locations(); 
    490499        $num_locations = count( array_keys($locations) ); 
    491500 
    492         echo '<p class="howto">' . sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n($num_locations) ) . '</p>'; 
     501        echo '<p class="howto">' . _n('Select a menu to use within your theme.', 'Select the menus you will use in your theme.', $num_locations ) . '</p>'; 
    493502 
    494503        foreach ( $locations as $location => $description ) { 
    495504                ?> 
     
    512521        } 
    513522        ?> 
    514523        <p class="button-controls"> 
    515                 <?php submit_button( __( 'Save' ), 'primary right', 'nav-menu-locations', false, disabled( $nav_menu_selected_id, 0, false ) ); ?> 
     524                <?php submit_button( __( 'Save' ), 'primary right', 'nav-menu-locations', false ); ?> 
    516525                <span class="spinner"></span> 
    517526        </p> 
    518527        <?php 
     
    10861095                $menu_items = wp_get_nav_menu_items( $menu->term_id, array('post_status' => 'any') ); 
    10871096                $result = '<div id="menu-instructions" class="post-body-plain'; 
    10881097                $result .= ( ! empty($menu_items) ) ? ' menu-instructions-inactive">' : '">'; 
    1089                 $result .= '<p>' . __('Select menu items (pages, categories, links) from the boxes at left to begin building your custom menu.') . '</p>'; 
     1098                $result .= '<p>' . __('Next, add menu items (i.e. pages, links, categories) from the column on the left.') . '</p>'; 
    10901099                $result .= '</div>'; 
    10911100 
    10921101                if( empty($menu_items) ) 
     
    11581167        foreach( (array) $menu_items_to_delete as $menu_item_id ) 
    11591168                wp_delete_post( $menu_item_id, true ); 
    11601169} 
    1161  
    1162 add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items'); 
     1170add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items'); 
     1171 No newline at end of file 
  • wp-admin/js/nav-menu.js

     
    4646                                this.initSortables(); 
    4747 
    4848                        this.initToggles(); 
    49  
    50                         this.initTabManager(); 
     49                         
     50                        this.messageFadeIn(); 
    5151                }, 
    5252 
    5353                jQueryExtensions : function() { 
     
    222222                                } 
    223223                        }); 
    224224                }, 
     225                 
     226                messageFadeIn : function() { 
     227                        var messages = $('#message'); 
     228                         
     229                        // Visual change when users save menus multiple times in a row 
     230                        messages.slideDown('slow'); 
     231                }, 
    225232 
    226233                initToggles : function() { 
    227234                        // init postboxes 
     
    245252                                menuEdge = api.menuList.offset().left, 
    246253                                body = $('body'), maxChildDepth, 
    247254                                menuMaxDepth = initialMenuMaxDepth(); 
     255                                 
     256                        if( 0 != $('#menu-to-edit li').length ) 
     257                                $('.drag-instructions').show(); 
    248258 
    249259                        // Use the right edge if RTL. 
    250260                        menuEdge += api.isRTL ? api.menuList.width() : 0; 
     
    307317 
    308318                                        // Return child elements to the list 
    309319                                        children = transport.children().insertAfter(ui.item); 
     320                                         
     321                                        // Add "sub menu" description 
     322                                        var subMenuTitle = ui.item.find('.item-title .is-submenu'); 
     323                                        if (0 < currentDepth) 
     324                                                subMenuTitle.show(); 
     325                                        else 
     326                                                subMenuTitle.hide(); 
    310327 
    311328                                        // Update depth classes 
    312329                                        if( depthChange != 0 ) { 
     
    327344                                                ui.item[0].style.left = 'auto'; 
    328345                                                ui.item[0].style.right = 0; 
    329346                                        } 
    330  
    331                                         // The width of the tab bar might have changed. Just in case. 
    332                                         api.refreshMenuTabs( true ); 
    333347                                }, 
    334348                                change: function(e, ui) { 
    335349                                        // Make sure the placeholder is inside the menu. 
     
    461475                                if( '' == $t.val() ) 
    462476                                        $t.addClass( name ).val( $t.data(name) ); 
    463477                        }); 
     478                         
     479                        $('.blank-slate .input-with-default-title').focus(); 
    464480                }, 
    465481 
    466482                attachThemeLocationsListeners : function() { 
     
    474490                                loc.find('.spinner').show(); 
    475491                                $.post( ajaxurl, params, function(r) { 
    476492                                        loc.find('.spinner').hide(); 
     493                                        $('.menu-location-success').slideDown('slow'); 
    477494                                }); 
    478495                                return false; 
    479496                        }); 
     
    572589                        $.post( ajaxurl, params, function(menuMarkup) { 
    573590                                var ins = $('#menu-instructions'); 
    574591                                processMethod(menuMarkup, params); 
     592                                // Make it stand out a bit more visually, by adding a fadeIn 
     593                                $('li.pending').hide().fadeIn('slow'); 
     594                                $('.drag-instructions').show(); 
    575595                                if( ! ins.hasClass('menu-instructions-inactive') && ins.siblings().length ) 
    576596                                        ins.addClass('menu-instructions-inactive'); 
    577597                                callback(); 
     
    604624                                }; 
    605625                        } else { 
    606626                                // Make the post boxes read-only, as they can't be used yet 
    607                                 $('#menu-settings-column').find('input,select').prop('disabled', true).end().find('a').attr('href', '#').unbind('click'); 
     627                                $('#menu-settings-column').find('input,select').end().find('a').attr('href', '#').unbind('click'); 
    608628                        } 
    609629                }, 
    610630 
     
    688708                        }); 
    689709                }, 
    690710 
    691                 initTabManager : function() { 
    692                         var fixed = $('.nav-tabs-wrapper'), 
    693                                 fluid = fixed.children('.nav-tabs'), 
    694                                 active = fluid.children('.nav-tab-active'), 
    695                                 tabs = fluid.children('.nav-tab'), 
    696                                 tabsWidth = 0, 
    697                                 fixedRight, fixedLeft, 
    698                                 arrowLeft, arrowRight, resizeTimer, css = {}, 
    699                                 marginFluid = api.isRTL ? 'margin-right' : 'margin-left', 
    700                                 marginFixed = api.isRTL ? 'margin-left' : 'margin-right', 
    701                                 msPerPx = 2; 
    702  
    703                         /** 
    704                          * Refreshes the menu tabs. 
    705                          * Will show and hide arrows where necessary. 
    706                          * Scrolls to the active tab by default. 
    707                          * 
    708                          * @param savePosition {boolean} Optional. Prevents scrolling so 
    709                          *                that the current position is maintained. Default false. 
    710                          **/ 
    711                         api.refreshMenuTabs = function( savePosition ) { 
    712                                 var fixedWidth = fixed.width(), 
    713                                         margin = 0, css = {}; 
    714                                 fixedLeft = fixed.offset().left; 
    715                                 fixedRight = fixedLeft + fixedWidth; 
    716  
    717                                 if( !savePosition ) 
    718                                         active.makeTabVisible(); 
    719  
    720                                 // Prevent space from building up next to the last tab if there's more to show 
    721                                 if( tabs.last().isTabVisible() ) { 
    722                                         margin = fixed.width() - tabsWidth; 
    723                                         margin = margin > 0 ? 0 : margin; 
    724                                         css[marginFluid] = margin + 'px'; 
    725                                         fluid.animate( css, 100, "linear" ); 
    726                                 } 
    727  
    728                                 // Show the arrows only when necessary 
    729                                 if( fixedWidth > tabsWidth ) 
    730                                         arrowLeft.add( arrowRight ).hide(); 
    731                                 else 
    732                                         arrowLeft.add( arrowRight ).show(); 
    733                         } 
    734  
    735                         $.fn.extend({ 
    736                                 makeTabVisible : function() { 
    737                                         var t = this.eq(0), left, right, css = {}, shift = 0; 
    738  
    739                                         if( ! t.length ) return this; 
    740  
    741                                         left = t.offset().left; 
    742                                         right = left + t.outerWidth(); 
    743  
    744                                         if( right > fixedRight ) 
    745                                                 shift = fixedRight - right; 
    746                                         else if ( left < fixedLeft ) 
    747                                                 shift = fixedLeft - left; 
    748  
    749                                         if( ! shift ) return this; 
    750  
    751                                         css[marginFluid] = "+=" + api.negateIfRTL * shift + 'px'; 
    752                                         fluid.animate( css, Math.abs( shift ) * msPerPx, "linear" ); 
    753                                         return this; 
    754                                 }, 
    755                                 isTabVisible : function() { 
    756                                         var t = this.eq(0), 
    757                                                 left = t.offset().left, 
    758                                                 right = left + t.outerWidth(); 
    759                                         return ( right <= fixedRight && left >= fixedLeft ) ? true : false; 
    760                                 } 
    761                         }); 
    762  
    763                         // Find the width of all tabs 
    764                         tabs.each(function(){ 
    765                                 tabsWidth += $(this).outerWidth(true); 
    766                         }); 
    767  
    768                         // Set up fixed margin for overflow, unset padding 
    769                         css['padding'] = 0; 
    770                         css[marginFixed] = (-1 * tabsWidth) + 'px'; 
    771                         fluid.css( css ); 
    772  
    773                         // Build tab navigation 
    774                         arrowLeft = $('<div class="nav-tabs-arrow nav-tabs-arrow-left"><a>&laquo;</a></div>'); 
    775                         arrowRight = $('<div class="nav-tabs-arrow nav-tabs-arrow-right"><a>&raquo;</a></div>'); 
    776                         // Attach to the document 
    777                         fixed.wrap('<div class="nav-tabs-nav"/>').parent().prepend( arrowLeft ).append( arrowRight ); 
    778  
    779                         // Set the menu tabs 
    780                         api.refreshMenuTabs(); 
    781                         // Make sure the tabs reset on resize 
    782                         $(window).resize(function() { 
    783                                 if( resizeTimer ) clearTimeout(resizeTimer); 
    784                                 resizeTimer = setTimeout( api.refreshMenuTabs, 200); 
    785                         }); 
    786  
    787                         // Build arrow functions 
    788                         $.each([{ 
    789                                         arrow : arrowLeft, 
    790                                         next : "next", 
    791                                         last : "first", 
    792                                         operator : "+=" 
    793                                 },{ 
    794                                         arrow : arrowRight, 
    795                                         next : "prev", 
    796                                         last : "last", 
    797                                         operator : "-=" 
    798                                 }], function(){ 
    799                                 var that = this; 
    800                                 this.arrow.mousedown(function(){ 
    801                                         var marginFluidVal = Math.abs( parseInt( fluid.css(marginFluid) ) ), 
    802                                                 shift = marginFluidVal, 
    803                                                 css = {}; 
    804  
    805                                         if( "-=" == that.operator ) 
    806                                                 shift = Math.abs( tabsWidth - fixed.width() ) - marginFluidVal; 
    807  
    808                                         if( ! shift ) return; 
    809  
    810                                         css[marginFluid] = that.operator + shift + 'px'; 
    811                                         fluid.animate( css, shift * msPerPx, "linear" ); 
    812                                 }).mouseup(function(){ 
    813                                         var tab, next; 
    814                                         fluid.stop(true); 
    815                                         tab = tabs[that.last](); 
    816                                         while( (next = tab[that.next]()) && next.length && ! next.isTabVisible() ) { 
    817                                                 tab = next; 
    818                                         } 
    819                                         tab.makeTabVisible(); 
    820                                 }); 
    821                         }); 
    822                 }, 
    823  
    824711                eventOnClickEditLink : function(clickedEl) { 
    825712                        var settings, item, 
    826713                        matchedSection = /#(.*)$/.exec(clickedEl.href); 
     
    945832                                        var ins = $('#menu-instructions'); 
    946833                                        el.remove(); 
    947834                                        children.shiftDepthClass(-1).updateParentMenuItemDBId(); 
    948                                         if( ! ins.siblings().length ) 
     835                                        if( 0 == $('#menu-to-edit li').length ) { 
     836                                                $('.drag-instructions').hide(); 
    949837                                                ins.removeClass('menu-instructions-inactive'); 
     838                                        } 
    950839                                }); 
    951840                }, 
    952841 
  • wp-admin/nav-menus.php

     
    367367 
    368368                                do_action( 'wp_update_nav_menu', $nav_menu_selected_id ); 
    369369 
    370                                 $messages[] = '<div id="message" class="updated"><p>' . sprintf( __('The <strong>%s</strong> menu has been updated.'), $nav_menu_selected_title ) . '</p></div>'; 
     370                                $messages[] = '<div id="message" class="updated"><p>' . sprintf( __('<strong>%s</strong> has been updated. Use this menu to <a href="%s">replace your sites main navigation</a>, or <a href="%s">within a widget</a>.'), $nav_menu_selected_title, admin_url( 'nav-menus.php' ), admin_url( 'widgets.php' ) ) . '</p></div>'; 
    371371                                unset( $menu_items, $unsorted_menu_items ); 
    372372                        } 
    373373                } 
     
    460460?> 
    461461<div class="wrap"> 
    462462        <?php screen_icon(); ?> 
    463         <h2><?php esc_html_e('Menus'); ?></h2> 
     463        <h2 class="nav-tab-wrapper"> 
     464                <a href="<?php echo admin_url( 'nav-menus.php' ); ?>" class="nav-tab<?php if ( ! isset( $_POST['menu-name'] ) && ! isset( $_GET['action'] ) || isset( $_GET['_wpnonce'] ) ) echo ' nav-tab-active'; ?>"><?php esc_html_e('Manage Menus'); ?></a> 
     465                <a href="<?php echo esc_url( add_query_arg( array( 'action' => 'edit', 'menu' => 0, ), admin_url( 'nav-menus.php' ) ) ); ?>" class="nav-tab<?php if ( isset( $_GET['menu'] ) && '0' == $_GET['menu'] ) echo ' nav-tab-active'; ?>"><?php esc_html_e('Add Menu'); ?></a> 
     466        </h2> 
    464467        <?php 
    465468        foreach( $messages as $message ) : 
    466469                echo $message . "\n"; 
    467470        endforeach; 
    468471        ?> 
     472        <div class="updated menu-location-success" style="display: none;"><p><?php echo sprintf( __('The menus within your theme have been updated. <a href="%s">Visit your site</a> to preview these changes.'), get_site_url() ); ?></p></div> 
    469473        <div id="nav-menus-frame"> 
    470         <div id="menu-settings-column" class="metabox-holder<?php if ( !$nav_menu_selected_id ) { echo ' metabox-holder-disabled'; } ?>"> 
     474        <div id="menu-settings-column" class="metabox-holder<?php if ( isset( $_GET['menu'] ) && '0' == $_GET['menu'] || empty( $nav_menus ) ) { echo ' metabox-holder-disabled'; } ?>"> 
    471475 
    472476                <form id="nav-menu-meta" action="<?php echo admin_url( 'nav-menus.php' ); ?>" class="nav-menu-meta" method="post" enctype="multipart/form-data"> 
    473477                        <input type="hidden" name="menu" id="nav-menu-meta-object-id" value="<?php echo esc_attr( $nav_menu_selected_id ); ?>" /> 
     
    479483        </div><!-- /#menu-settings-column --> 
    480484        <div id="menu-management-liquid"> 
    481485                <div id="menu-management"> 
    482                         <div id="select-nav-menu-container" class="hide-if-js"> 
    483                                 <form id="select-nav-menu" action=""> 
    484                                         <strong><label for="select-nav-menu"><?php esc_html_e( 'Select Menu:' ); ?></label></strong> 
    485                                         <select class="select-nav-menu" name="menu"> 
     486                        <?php if ( ! isset( $_POST['menu-name'] ) && ! empty( $nav_menus ) && ! isset( $_GET['action'] ) || ( isset( $_GET['_wpnonce'] ) && 0 != count( $nav_menus ) ) ) : ?> 
     487                        <div id="select-nav-menu-container"> 
     488                                 
     489                                <!-- Temporary (throw away) code just to test users on this concept --> 
     490                                <table cellspacing="0" class="wp-list-table widefat fixed tags"> 
     491                                        <thead> 
     492                                                <tr> 
     493                                                        <th style="" class="manage-column column-name desc" id="name" scope="col"><span>Menu Name</span></th> 
     494                                                </tr> 
     495                                        </thead> 
     496                                        <tfoot> 
     497                                                <tr> 
     498                                                        <th style="" class="manage-column column-name desc" scope="col"><span>Menu Name</span></th> 
     499                                                </tr> 
     500                                        </tfoot> 
     501                                        <tbody data-wp-lists="list:tag" id="the-list"> 
    486502                                                <?php foreach( (array) $nav_menus as $_nav_menu ) : ?> 
    487                                                         <option value="<?php echo esc_attr($_nav_menu->term_id) ?>" <?php selected($nav_menu_selected_id, $_nav_menu->term_id); ?>> 
    488                                                                 <?php echo esc_html( $_nav_menu->truncated_name ); ?> 
    489                                                         </option> 
     503                                                <tr> 
     504                                                        <td style="text-align: left;"> 
     505                                                                <strong><a title="<?php echo esc_html( $_nav_menu->truncated_name ); ?>" href="<?php echo admin_url('nav-menus.php?action=edit&menu=' . esc_attr($_nav_menu->term_id)); ?>" class="row-title"><?php echo esc_html( $_nav_menu->truncated_name ); ?></a></strong><br /> 
     506                                                                <div class="row-actions"> 
     507                                                                        <span class="edit"><a href="<?php echo admin_url('nav-menus.php?action=edit&menu=' . esc_attr($_nav_menu->term_id)); ?>">Edit</a> | </span> 
     508                                                                        <span class="trash"><a class="submitdelete" title="Delete this menu" href="<?php echo esc_url( wp_nonce_url( admin_url('nav-menus.php?action=delete&amp;menu=' . esc_attr($_nav_menu->term_id)), 'delete-nav_menu-' . esc_attr($_nav_menu->term_id) ) ); ?>">Delete</a></span> 
     509                                                                </div> 
     510                                                        </td> 
     511                                                </tr> 
    490512                                                <?php endforeach; ?> 
    491                                                 <option value="0"><?php esc_html_e('Add New Menu'); ?></option> 
    492                                         </select> 
    493                                         <input type="hidden" name="action" value="edit" /> 
    494                                         <?php submit_button( __( 'Select' ), 'secondary', 'select_menu', false ); ?> 
    495                                 </form> 
     513                                        </tbody> 
     514                                </table> 
    496515                        </div> 
    497                         <div class="nav-tabs-wrapper"> 
    498                         <div class="nav-tabs"> 
    499                                 <?php 
    500                                 foreach( (array) $nav_menus as $_nav_menu ) : 
    501                                         if ( $nav_menu_selected_id == $_nav_menu->term_id ) : ?><span class="nav-tab nav-tab-active"> 
    502                                                         <?php echo esc_html( $_nav_menu->truncated_name ); ?> 
    503                                                 </span><?php else : ?><a href="<?php 
    504                                                         echo esc_url(add_query_arg( 
    505                                                                 array( 
    506                                                                         'action' => 'edit', 
    507                                                                         'menu' => $_nav_menu->term_id, 
    508                                                                 ), 
    509                                                                 admin_url( 'nav-menus.php' ) 
    510                                                         )); 
    511                                                 ?>" class="nav-tab hide-if-no-js"> 
    512                                                         <?php echo esc_html( $_nav_menu->truncated_name ); ?> 
    513                                                 </a><?php endif; 
    514                                 endforeach; 
    515                                 if ( 0 == $nav_menu_selected_id ) : ?><span class="nav-tab menu-add-new nav-tab-active"> 
    516                                         <?php printf( '<abbr title="%s">+</abbr>', esc_html__( 'Add menu' ) ); ?> 
    517                                 </span><?php else : ?><a href="<?php 
    518                                         echo esc_url(add_query_arg( 
    519                                                 array( 
    520                                                         'action' => 'edit', 
    521                                                         'menu' => 0, 
    522                                                 ), 
    523                                                 admin_url( 'nav-menus.php' ) 
    524                                         )); 
    525                                 ?>" class="nav-tab menu-add-new"> 
    526                                         <?php printf( '<abbr title="%s">+</abbr>', esc_html__( 'Add menu' ) ); ?> 
    527                                 </a><?php endif; ?> 
    528                         </div> 
    529                         </div> 
     516                        <?php else : ?> 
    530517                        <div class="menu-edit"> 
    531518                                <form id="update-nav-menu" action="<?php echo admin_url( 'nav-menus.php' ); ?>" method="post" enctype="multipart/form-data"> 
    532519                                        <div id="nav-menu-header"> 
    533520                                                <div id="submitpost" class="submitbox"> 
    534                                                         <div class="major-publishing-actions"> 
     521                                                        <div class="major-publishing-actions <?php if ( isset( $_GET['menu'] ) && 0 == $_GET['menu'] || empty( $nav_menus ) ) echo 'blank-slate'; ?>"> 
    535522                                                                <label class="menu-name-label howto open-label" for="menu-name"> 
    536523                                                                        <span><?php _e('Menu Name'); ?></span> 
    537524                                                                        <input name="menu-name" id="menu-name" type="text" class="menu-name regular-text menu-item-textbox input-with-default-title" title="<?php esc_attr_e('Enter menu name here'); ?>" value="<?php echo esc_attr( $nav_menu_selected_title ); ?>" /> 
     
    551538                                                                        <label class="howto"><input type="checkbox"<?php checked( $auto_add ); ?> name="auto-add-pages" value="1" /> <?php printf( __('Automatically add new top-level pages' ), esc_url( admin_url( 'edit.php?post_type=page' ) ) ); ?></label> 
    552539                                                                </div> 
    553540                                                                <?php endif; ?> 
    554                                                                 <br class="clear" /> 
    555541                                                                <div class="publishing-action"> 
    556542                                                                        <?php submit_button( empty( $nav_menu_selected_id ) ? __( 'Create Menu' ) : __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false, array( 'id' => 'save_menu_header' ) ); ?> 
    557543                                                                </div><!-- END .publishing-action --> 
    558544 
    559                                                                 <?php if ( ! empty( $nav_menu_selected_id ) ) : ?> 
    560                                                                 <div class="delete-action"> 
    561                                                                         <a class="submitdelete deletion menu-delete" href="<?php echo esc_url( wp_nonce_url( admin_url('nav-menus.php?action=delete&amp;menu=' . $nav_menu_selected_id), 'delete-nav_menu-' . $nav_menu_selected_id ) ); ?>"><?php _e('Delete Menu'); ?></a> 
    562                                                                 </div><!-- END .delete-action --> 
    563                                                                 <?php endif; ?> 
    564545                                                        </div><!-- END .major-publishing-actions --> 
    565546                                                </div><!-- END #submitpost .submitbox --> 
    566547                                                <?php 
     
    574555                                        <div id="post-body"> 
    575556                                                <div id="post-body-content"> 
    576557                                                        <?php 
    577                                                         if ( isset( $edit_markup ) ) { 
     558                                                        $drag_instructions = ''; 
     559                                                        if ( empty( $ordered_menu_items ) ) 
     560                                                                $drag_instructions = 'style="display: none;"'; 
     561                                                         
     562                                                        if ( isset( $edit_markup ) ) {                                                           
     563                                                                echo '<div class="drag-instructions post-body-plain" ' . $drag_instructions . '>'; 
     564                                                                echo '<p>' . __('Drag each item into the order you prefer. Click an item to reveal additional configuration options.') . '</p>'; 
     565                                                                echo '</div>'; 
     566                                                                 
    578567                                                                if ( ! is_wp_error( $edit_markup ) ) 
    579568                                                                        echo $edit_markup; 
    580569                                                        } else if ( empty( $nav_menu_selected_id ) ) { 
    581570                                                                echo '<div class="post-body-plain">'; 
    582                                                                 echo '<p>' . __('To create a custom menu, give it a name above and click Create Menu. Then choose items like pages, categories or custom links from the left column to add to this menu.') . '</p>'; 
    583                                                                 echo '<p>' . __('After you have added your items, drag and drop to put them in the order you want. You can also click each item to reveal additional configuration options.') . '</p>'; 
    584                                                                 echo '<p>' . __('When you have finished building your custom menu, make sure you click the Save Menu button.') . '</p>'; 
     571                                                                echo '<p>' . __('Give your custom menu a name above, then click Create Menu.') . '</p>'; 
    585572                                                                echo '</div>'; 
    586573                                                        } 
    587574                                                        ?> 
     
    599586                                        </div><!-- /#nav-menu-footer --> 
    600587                                </form><!-- /#update-nav-menu --> 
    601588                        </div><!-- /.menu-edit --> 
     589                        <?php endif; ?> 
    602590                </div><!-- /#menu-management --> 
    603591        </div><!-- /#menu-management-liquid --> 
    604592        </div><!-- /#nav-menus-frame --> 
  • wp-admin/css/wp-admin.css

     
    67506750 
    67516751/* nav-menu */ 
    67526752 
     6753.nav-menus-php #message { 
     6754        display: none; 
     6755} 
     6756 
     6757.nav-menus-php .nav-tab-wrapper { 
     6758        margin-bottom: 20px; 
     6759} 
     6760 
    67536761#nav-menus-frame { 
    67546762        margin-left: 300px; 
     6763        margin-top: 20px; 
    67556764} 
    67566765 
    67576766#wpbody-content #menu-settings-column { 
     
    67606769        margin-left: -300px; 
    67616770        clear: both; 
    67626771        float: left; 
    6763         padding-top: 24px; 
     6772        padding-top: 0; 
    67646773} 
    67656774 
    67666775.no-js #wpbody-content #menu-settings-column { 
     
    67856794        position: relative; 
    67866795} 
    67876796 
     6797.blank-slate br {  
     6798        display: none;  
     6799}  
     6800 
     6801.blank-slate .menu-name {  
     6802        height: 2em;  
     6803} 
     6804 
     6805.is-submenu { 
     6806        color: #999; 
     6807        font-style: italic; 
     6808        font-weight: normal; 
     6809        margin-left: 4px; 
     6810} 
     6811 
    67886812/* Menu Container */ 
    67896813#menu-management-liquid { 
    67906814        float: left; 
    67916815        min-width: 100%; 
     6816        margin-top: 3px; 
    67926817} 
    67936818 
    67946819#menu-management { 
     
    68356860        font-weight:bold; 
    68366861} 
    68376862 
    6838 /* Menu Tabs */ 
    6839  
    6840 #menu-management .nav-tabs-nav { 
    6841         margin: 0 20px; 
    6842 } 
    6843  
    6844 #menu-management .nav-tabs-arrow { 
    6845         width: 10px; 
    6846         padding: 0 5px 4px; 
    6847         cursor: pointer; 
    6848         position: absolute; 
    6849         top: 0; 
    6850         line-height: 22px; 
    6851         font-size: 18px; 
    6852         text-shadow: 0 1px 0 #fff; 
    6853 } 
    6854  
    6855 #menu-management .nav-tabs-arrow-left { 
    6856         left: 0; 
    6857 } 
    6858  
    6859 #menu-management .nav-tabs-arrow-right { 
    6860         right: 0; 
    6861         text-align: right; 
    6862 } 
    6863  
    6864 #menu-management .nav-tabs-wrapper { 
    6865         width: 100%; 
    6866         height: 28px; 
    6867         margin-bottom: -1px; 
    6868         overflow: hidden; 
    6869 } 
    6870  
    6871 #menu-management .nav-tabs { 
    6872         padding-left: 20px; 
    6873         padding-right: 10px; 
    6874 } 
    6875  
    6876 .js #menu-management .nav-tabs { 
    6877         float: left; 
    6878         margin-left: 0px; 
    6879         margin-right: -400px; 
    6880 } 
    6881  
    6882 #menu-management .nav-tab { 
    6883         margin-bottom: 0; 
    6884         font-size: 14px; 
    6885 } 
    6886  
    68876863#select-nav-menu-container { 
    68886864        text-align: right; 
    68896865        padding: 0 10px 3px 10px; 
     
    69456921} 
    69466922 
    69476923.nav-menus-php .meta-sep, 
    6948 .nav-menus-php .submitdelete, 
    69496924.nav-menus-php .submitcancel { 
    69506925        display: block; 
    69516926        float: left; 
     
    70807055} 
    70817056 
    70827057#menu-to-edit { 
    7083         padding: 1em 0; 
     7058        padding: 0.1em 0; 
    70847059} 
    70857060 
    70867061.menu ul { 
     
    73267301        margin: 5px 0 1px; 
    73277302} 
    73287303 
     7304.nav-menus-php .blank-slate .publishing-action {  
     7305        float: left;  
     7306        margin: 1px 0 0;  
     7307} 
     7308 
    73297309.nav-menus-php .major-publishing-actions .delete-action { 
    73307310        vertical-align: middle; 
    73317311        text-align: left;