WordPress.org

Make WordPress Core

Ticket #44665: 44665.patch

File 44665.patch, 2.8 KB (added by sayedwp, 11 months ago)
  • src/js/_enqueues/wp/customize/widgets.js

    diff --git a/src/js/_enqueues/wp/customize/widgets.js b/src/js/_enqueues/wp/customize/widgets.js
    index 20659b1cac..00afc44ec6 100644
    a b  
    22832283         * Initialize Edit Menu button in Nav Menu widget.
    22842284         */
    22852285        $( document ).on( 'widget-added', function( event, widgetContainer ) {
    2286                 var parsedWidgetId, widgetControl, navMenuSelect, editMenuButton;
     2286                var parsedWidgetId, widgetControl, navMenuSelect, editMenuButton, newMenuButton;
    22872287                parsedWidgetId = parseWidgetId( widgetContainer.find( '> .widget-inside > .form > .widget-id' ).val() );
    22882288                if ( 'nav_menu' !== parsedWidgetId.id_base ) {
    22892289                        return;
     
    22932293                        return;
    22942294                }
    22952295                navMenuSelect = widgetContainer.find( 'select[name*="nav_menu"]' );
    2296                 editMenuButton = widgetContainer.find( '.edit-selected-nav-menu > button' );
    2297                 if ( 0 === navMenuSelect.length || 0 === editMenuButton.length ) {
     2296                editMenuButton = widgetContainer.find( '.edit-selected-nav-menu' );
     2297                newMenuButton = widgetContainer.find( '.create-new-nav-menu' );
     2298                if ( 0 === navMenuSelect.length || 0 === newMenuButton.length ) {
    22982299                        return;
    22992300                }
    23002301                navMenuSelect.on( 'change', function() {
    2301                         if ( api.section.has( 'nav_menu[' + navMenuSelect.val() + ']' ) ) {
    2302                                 editMenuButton.parent().show();
    2303                         } else {
    2304                                 editMenuButton.parent().hide();
    2305                         }
     2302                        editMenuButton.toggle( api.section.has( 'nav_menu[' + navMenuSelect.val() + ']' ) );
    23062303                });
    23072304                editMenuButton.on( 'click', function() {
    23082305                        var section = api.section( 'nav_menu[' + navMenuSelect.val() + ']' );
     
    23102307                                focusConstructWithBreadcrumb( section, widgetControl );
    23112308                        }
    23122309                } );
     2310                newMenuButton.on( 'click', function() {
     2311                        var section = api.section( 'add_menu' );
     2312                        if ( section ) {
     2313                                focusConstructWithBreadcrumb( section, widgetControl );
     2314                        }
     2315                } );
    23132316        } );
    23142317
    23152318        /**
  • src/wp-includes/widgets/class-wp-nav-menu-widget.php

    diff --git a/src/wp-includes/widgets/class-wp-nav-menu-widget.php b/src/wp-includes/widgets/class-wp-nav-menu-widget.php
    index 895431228b..7b394ce219 100644
    a b class WP_Nav_Menu_Widget extends WP_Widget { 
    161161                                </select>
    162162                        </p>
    163163                        <?php if ( $wp_customize instanceof WP_Customize_Manager ) : ?>
    164                                 <p class="edit-selected-nav-menu" style="<?php echo $nav_menu_style; ?>">
    165                                         <button type="button" class="button"><?php _e( 'Edit Menu' ); ?></button>
     164                                <p class="nav-menu-widget-buttons">
     165                                        <button type="button" style="<?php echo $nav_menu_style; ?>" class="button edit-selected-nav-menu"><?php _e( 'Edit Menu' ); ?></button>
     166                                        <button type="button" class="button create-new-nav-menu"><?php _e( 'Create New Menu' ); ?></button>
    166167                                </p>
    167168                        <?php endif; ?>
    168169                </div>