diff --git a/src/wp-admin/css/customize-nav-menus.css b/src/wp-admin/css/customize-nav-menus.css index 6256f17352..8a95c79efd 100644 --- a/src/wp-admin/css/customize-nav-menus.css +++ b/src/wp-admin/css/customize-nav-menus.css @@ -16,6 +16,10 @@ color: #555; } +.customize-control-nav_menu_location .edit-menu { + margin-top: 1px; +} + .wp-customizer .menu-item-bar .menu-item-handle, .wp-customizer .menu-item-settings, .wp-customizer .menu-item-settings .description-thin { diff --git a/src/wp-admin/js/customize-nav-menus.js b/src/wp-admin/js/customize-nav-menus.js index db931cd60c..2509035951 100644 --- a/src/wp-admin/js/customize-nav-menus.js +++ b/src/wp-admin/js/customize-nav-menus.js @@ -926,6 +926,19 @@ return parseInt( value, 10 ); }; + // Edit menu button. + control.container.find( '.edit-menu' ).on( 'click', function() { + var menuId = control.setting(); + api.section( 'nav_menu[' + menuId + ']' ).focus(); + }); + control.setting.bind( 'change', function() { + if ( 0 === control.setting() ) { + control.container.find( '.edit-menu' ).addClass( 'hidden' ); + } else { + control.container.find( '.edit-menu' ).removeClass( 'hidden' ); + } + }); + // Add/remove menus from the available options when they are added and removed. api.bind( 'add', function( setting ) { var option, menuId, matches = setting.id.match( navMenuIdRegex ); diff --git a/src/wp-includes/customize/class-wp-customize-nav-menu-location-control.php b/src/wp-includes/customize/class-wp-customize-nav-menu-location-control.php index 80ba741383..8d5db60d37 100644 --- a/src/wp-includes/customize/class-wp-customize-nav-menu-location-control.php +++ b/src/wp-includes/customize/class-wp-customize-nav-menu-location-control.php @@ -77,6 +77,7 @@ class WP_Customize_Nav_Menu_Location_Control extends WP_Customize_Control { ?> +