Ticket #23119: 23119.14.diff
| File 23119.14.diff, 27.0 KB (added by lessbloat, 4 months ago) |
|---|
-
wp-admin/includes/nav-menu.php
80 80 } 81 81 82 82 $title = empty( $item->label ) ? $title : $item->label; 83 84 $submenu_text = ''; 85 if (0 == $depth) 86 $submenu_text = 'style="display: none;"'; 83 87 84 88 ?> 85 89 <li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode(' ', $classes ); ?>"> 86 90 <dl class="menu-item-bar"> 87 91 <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> 89 93 <span class="item-controls"> 90 94 <span class="item-type"><?php echo esc_html( $item->type_label ); ?></span> 91 95 <span class="item-order hide-if-js"> … … 382 386 **/ 383 387 function wp_nav_menu_setup() { 384 388 // 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 wp_nav_menu_post_type_meta_boxes(); 396 add_meta_box( 'add-common-links', __('Common Links'), 'wp_nav_menu_item_common_link_meta_box', 'nav-menus', 'side', 'core' ); 397 add_meta_box( 'add-custom-links', __('Custom Links'), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' ); 398 wp_nav_menu_taxonomy_meta_boxes(); 399 } 390 400 391 401 // Register advanced menu items (columns) 392 402 add_filter( 'manage_nav-menus_columns', 'wp_nav_menu_manage_columns'); … … 411 421 if ( get_user_option( 'metaboxhidden_nav-menus' ) !== false || ! is_array($wp_meta_boxes) ) 412 422 return; 413 423 414 $initial_meta_boxes = array( 'nav-menu-theme-locations', 'add- custom-links', 'add-page', 'add-category' );424 $initial_meta_boxes = array( 'nav-menu-theme-locations', 'add-page', 'add-common-links', 'add-custom-links', 'add-category' ); 415 425 $hidden_meta_boxes = array(); 416 426 417 427 foreach ( array_keys($wp_meta_boxes['nav-menus']) as $context ) { … … 445 455 $post_type = apply_filters( 'nav_menu_meta_box_object', $post_type ); 446 456 if ( $post_type ) { 447 457 $id = $post_type->name; 448 add_meta_box( "add-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', ' default', $post_type );458 add_meta_box( "add-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', 'high', $post_type ); 449 459 } 450 460 } 451 461 } … … 489 499 $menu_locations = get_nav_menu_locations(); 490 500 $num_locations = count( array_keys($locations) ); 491 501 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>';502 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>'; 493 503 494 504 foreach ( $locations as $location => $description ) { 495 505 ?> … … 512 522 } 513 523 ?> 514 524 <p class="button-controls"> 515 <?php submit_button( __( 'Save' ), 'primary right', 'nav-menu-locations', false , disabled( $nav_menu_selected_id, 0, false )); ?>525 <?php submit_button( __( 'Save' ), 'primary right', 'nav-menu-locations', false ); ?> 516 526 <span class="spinner"></span> 517 527 </p> 518 528 <?php 519 529 } 520 530 521 531 /** 532 * Displays a metabox for the common links menu item. 533 * 534 * @since 3.0.0 535 */ 536 function wp_nav_menu_item_common_link_meta_box() { 537 global $blog_id, $_nav_menu_placeholder, $nav_menu_selected_id; 538 $_nav_menu_placeholder = 0 > $_nav_menu_placeholder ? $_nav_menu_placeholder - 1 : -1; 539 540 $removed_args = array( 541 'action', 542 'customlink-tab', 543 'edit-menu-item', 544 'menu-item', 545 'page-tab', 546 '_wpnonce', 547 ); 548 549 $common_links = array( 550 array( 551 'url' => get_site_url(), 552 'text' => __('Home') 553 ), 554 array( 555 'url' => get_site_url($blog_id, '/wp-login.php'), 556 'text' => __('Log in') 557 ) 558 ); 559 ?> 560 <div class="commonlinkdiv" id="commonlinkdiv"> 561 562 <div class="common-links"> 563 <?php foreach ( $common_links as $link ) { ?> 564 <label class="menu-item-title"><input type="checkbox" class="menu-item-checkbox" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-object-id]" value="<?php echo $link['url']; ?>" title="<?php echo $link['text']; ?>"> <?php echo $link['text']; ?></label> 565 <?php } ?> 566 </div> 567 568 <p class="button-controls"> 569 <span class="add-to-menu"> 570 <input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-common-menu-item" id="submit-commonlinkdiv" /> 571 <span class="spinner"></span> 572 </span> 573 </p> 574 575 </div><!-- /.commonlinkdiv --> 576 <?php 577 } 578 579 /** 522 580 * Displays a metabox for the custom links menu item. 523 581 * 524 582 * @since 3.0.0 … … 554 612 555 613 <p id="menu-item-name-wrap"> 556 614 <label class="howto" for="custom-menu-item-name"> 557 <span><?php _e('L abel'); ?></span>615 <span><?php _e('Link Text'); ?></span> 558 616 <input id="custom-menu-item-name" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-title]" type="text" class="regular-text menu-item-textbox input-with-default-title" title="<?php esc_attr_e('Menu Item'); ?>" /> 559 617 </label> 560 618 </p> … … 1086 1144 $menu_items = wp_get_nav_menu_items( $menu->term_id, array('post_status' => 'any') ); 1087 1145 $result = '<div id="menu-instructions" class="post-body-plain'; 1088 1146 $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>';1147 $result .= '<p>' . __('Next, add menu items (i.e. pages, links, categories) from the column on the left.') . '</p>'; 1090 1148 $result .= '</div>'; 1091 1149 1092 1150 if( empty($menu_items) ) … … 1158 1216 foreach( (array) $menu_items_to_delete as $menu_item_id ) 1159 1217 wp_delete_post( $menu_item_id, true ); 1160 1218 } 1161 1162 add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items'); 1219 add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items'); 1220 No newline at end of file -
wp-admin/js/nav-menu.js
46 46 this.initSortables(); 47 47 48 48 this.initToggles(); 49 50 this. initTabManager();49 50 this.messageFadeIn(); 51 51 }, 52 52 53 53 jQueryExtensions : function() { … … 222 222 } 223 223 }); 224 224 }, 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 }, 225 232 226 233 initToggles : function() { 227 234 // init postboxes … … 245 252 menuEdge = api.menuList.offset().left, 246 253 body = $('body'), maxChildDepth, 247 254 menuMaxDepth = initialMenuMaxDepth(); 255 256 if( 0 != $('#menu-to-edit li').length ) 257 $('.drag-instructions').show(); 248 258 249 259 // Use the right edge if RTL. 250 260 menuEdge += api.isRTL ? api.menuList.width() : 0; … … 307 317 308 318 // Return child elements to the list 309 319 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(); 310 327 311 328 // Update depth classes 312 329 if( depthChange != 0 ) { … … 327 344 ui.item[0].style.left = 'auto'; 328 345 ui.item[0].style.right = 0; 329 346 } 330 331 // The width of the tab bar might have changed. Just in case.332 api.refreshMenuTabs( true );333 347 }, 334 348 change: function(e, ui) { 335 349 // Make sure the placeholder is inside the menu. … … 433 447 $("#submit-customlinkdiv").click(); 434 448 } 435 449 }); 450 $('#submit-commonlinkdiv').click(function () { 451 api.addCommonLink(); 452 return false; 453 }); 436 454 }, 437 455 438 456 /** … … 461 479 if( '' == $t.val() ) 462 480 $t.addClass( name ).val( $t.data(name) ); 463 481 }); 482 483 $('.blank-slate .input-with-default-title').focus(); 464 484 }, 465 485 466 486 attachThemeLocationsListeners : function() { … … 474 494 loc.find('.spinner').show(); 475 495 $.post( ajaxurl, params, function(r) { 476 496 loc.find('.spinner').hide(); 497 $('.menu-location-success').slideDown('slow'); 477 498 }); 478 499 return false; 479 500 }); … … 521 542 api.processQuickSearchQueryResponse(menuMarkup, params, panel); 522 543 }); 523 544 }, 545 546 addCommonLink : function() { 547 548 $('#commonlinkdiv input[type="checkbox"]:checked').each(function( index ) { 549 var url = $(this).val(), 550 linkText = $(this).prop('title'), 551 processMethod = api.addMenuItemToTop; 524 552 553 // Show the ajax spinner 554 $('.commonlinkdiv .spinner').show(); 555 api.addLinkToMenu( url, linkText, processMethod, function() { 556 // Remove the ajax spinner 557 $('.commonlinkdiv .spinner').hide(); 558 }); 559 }); 560 }, 561 525 562 addCustomLink : function( processMethod ) { 526 563 var url = $('#custom-menu-item-url').val(), 527 564 label = $('#custom-menu-item-name').val(); … … 572 609 $.post( ajaxurl, params, function(menuMarkup) { 573 610 var ins = $('#menu-instructions'); 574 611 processMethod(menuMarkup, params); 612 // Make it stand out a bit more visually, by adding a fadeIn 613 $('li.pending').hide().fadeIn('slow'); 614 $('.drag-instructions').show(); 575 615 if( ! ins.hasClass('menu-instructions-inactive') && ins.siblings().length ) 576 616 ins.addClass('menu-instructions-inactive'); 577 617 callback(); … … 604 644 }; 605 645 } else { 606 646 // 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');647 $('#menu-settings-column').find('input,select').end().find('a').attr('href', '#').unbind('click'); 608 648 } 609 649 }, 610 650 … … 688 728 }); 689 729 }, 690 730 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 so709 * 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 show721 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 necessary729 if( fixedWidth > tabsWidth )730 arrowLeft.add( arrowRight ).hide();731 else732 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 tabs764 tabs.each(function(){765 tabsWidth += $(this).outerWidth(true);766 });767 768 // Set up fixed margin for overflow, unset padding769 css['padding'] = 0;770 css[marginFixed] = (-1 * tabsWidth) + 'px';771 fluid.css( css );772 773 // Build tab navigation774 arrowLeft = $('<div class="nav-tabs-arrow nav-tabs-arrow-left"><a>«</a></div>');775 arrowRight = $('<div class="nav-tabs-arrow nav-tabs-arrow-right"><a>»</a></div>');776 // Attach to the document777 fixed.wrap('<div class="nav-tabs-nav"/>').parent().prepend( arrowLeft ).append( arrowRight );778 779 // Set the menu tabs780 api.refreshMenuTabs();781 // Make sure the tabs reset on resize782 $(window).resize(function() {783 if( resizeTimer ) clearTimeout(resizeTimer);784 resizeTimer = setTimeout( api.refreshMenuTabs, 200);785 });786 787 // Build arrow functions788 $.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 824 731 eventOnClickEditLink : function(clickedEl) { 825 732 var settings, item, 826 733 matchedSection = /#(.*)$/.exec(clickedEl.href); … … 945 852 var ins = $('#menu-instructions'); 946 853 el.remove(); 947 854 children.shiftDepthClass(-1).updateParentMenuItemDBId(); 948 if( ! ins.siblings().length ) 855 if( 0 == $('#menu-to-edit li').length ) { 856 $('.drag-instructions').hide(); 949 857 ins.removeClass('menu-instructions-inactive'); 858 } 950 859 }); 951 860 }, 952 861 -
wp-admin/nav-menus.php
367 367 368 368 do_action( 'wp_update_nav_menu', $nav_menu_selected_id ); 369 369 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>'; 371 371 unset( $menu_items, $unsorted_menu_items ); 372 372 } 373 373 } … … 460 460 ?> 461 461 <div class="wrap"> 462 462 <?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> 464 467 <?php 465 468 foreach( $messages as $message ) : 466 469 echo $message . "\n"; 467 470 endforeach; 468 471 ?> 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> 469 473 <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'; } ?>"> 471 475 472 476 <form id="nav-menu-meta" action="<?php echo admin_url( 'nav-menus.php' ); ?>" class="nav-menu-meta" method="post" enctype="multipart/form-data"> 473 477 <input type="hidden" name="menu" id="nav-menu-meta-object-id" value="<?php echo esc_attr( $nav_menu_selected_id ); ?>" /> … … 479 483 </div><!-- /#menu-settings-column --> 480 484 <div id="menu-management-liquid"> 481 485 <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"> 486 502 <?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&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> 490 512 <?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> 496 515 </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 : ?> 530 517 <div class="menu-edit"> 531 518 <form id="update-nav-menu" action="<?php echo admin_url( 'nav-menus.php' ); ?>" method="post" enctype="multipart/form-data"> 532 519 <div id="nav-menu-header"> 533 520 <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'; ?>"> 535 522 <label class="menu-name-label howto open-label" for="menu-name"> 536 523 <span><?php _e('Menu Name'); ?></span> 537 524 <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 ); ?>" /> … … 551 538 <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> 552 539 </div> 553 540 <?php endif; ?> 554 <br class="clear" />555 541 <div class="publishing-action"> 556 542 <?php submit_button( empty( $nav_menu_selected_id ) ? __( 'Create Menu' ) : __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false, array( 'id' => 'save_menu_header' ) ); ?> 557 543 </div><!-- END .publishing-action --> 558 544 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&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; ?>564 545 </div><!-- END .major-publishing-actions --> 565 546 </div><!-- END #submitpost .submitbox --> 566 547 <?php … … 574 555 <div id="post-body"> 575 556 <div id="post-body-content"> 576 557 <?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 578 567 if ( ! is_wp_error( $edit_markup ) ) 579 568 echo $edit_markup; 580 569 } else if ( empty( $nav_menu_selected_id ) ) { 581 570 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>'; 585 572 echo '</div>'; 586 573 } 587 574 ?> … … 599 586 </div><!-- /#nav-menu-footer --> 600 587 </form><!-- /#update-nav-menu --> 601 588 </div><!-- /.menu-edit --> 589 <?php endif; ?> 602 590 </div><!-- /#menu-management --> 603 591 </div><!-- /#menu-management-liquid --> 604 592 </div><!-- /#nav-menus-frame --> -
wp-admin/css/wp-admin.css
6750 6750 6751 6751 /* nav-menu */ 6752 6752 6753 .nav-menus-php #message { 6754 display: none; 6755 } 6756 6757 .nav-menus-php .nav-tab-wrapper { 6758 margin-bottom: 20px; 6759 } 6760 6753 6761 #nav-menus-frame { 6754 6762 margin-left: 300px; 6763 margin-top: 20px; 6755 6764 } 6756 6765 6757 6766 #wpbody-content #menu-settings-column { … … 6760 6769 margin-left: -300px; 6761 6770 clear: both; 6762 6771 float: left; 6763 padding-top: 24px;6772 padding-top: 0; 6764 6773 } 6765 6774 6766 6775 .no-js #wpbody-content #menu-settings-column { … … 6785 6794 position: relative; 6786 6795 } 6787 6796 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 6812 .common-links { 6813 background: #fff; 6814 border: 1px solid #dfdfdf; 6815 line-height: 1.4em; 6816 min-height: 42px; 6817 padding: 0.9em; 6818 } 6819 6820 .common-links label { 6821 display: block; 6822 line-height: 19px; 6823 } 6824 6788 6825 /* Menu Container */ 6789 6826 #menu-management-liquid { 6790 6827 float: left; 6791 6828 min-width: 100%; 6829 margin-top: 3px; 6792 6830 } 6793 6831 6794 6832 #menu-management { … … 6835 6873 font-weight:bold; 6836 6874 } 6837 6875 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 6887 6876 #select-nav-menu-container { 6888 6877 text-align: right; 6889 6878 padding: 0 10px 3px 10px; … … 7080 7069 } 7081 7070 7082 7071 #menu-to-edit { 7083 padding: 1em 0;7072 padding: 0.1em 0; 7084 7073 } 7085 7074 7086 7075 .menu ul { … … 7326 7315 margin: 5px 0 1px; 7327 7316 } 7328 7317 7318 .nav-menus-php .blank-slate .publishing-action { 7319 float: left; 7320 margin: 1px 0 0; 7321 } 7322 7329 7323 .nav-menus-php .major-publishing-actions .delete-action { 7330 7324 vertical-align: middle; 7331 7325 text-align: left;
