WordPress.org

Make WordPress Core

Ticket #13615: no-add-menu-items-nonexistent-menus.13615.diff

File no-add-menu-items-nonexistent-menus.13615.diff, 2.9 KB (added by filosofo, 4 years ago)
  • wp-includes/script-loader.php

     
    390390                        'custom' => _x('Custom', 'menu nav item type'), 
    391391                        'thickbox' => _x('Edit Menu Item', 'Thickbox Title'), 
    392392                        'edit' => _x('Edit', 'menu item edit text'), 
     393                        'menuNotCreated' => __('You must first create a menu before adding any items.'), 
    393394                        'noResultsFound' => _x('No results found.', 'search results'), 
    394                         'warnDeleteMenu' => __( "You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete." ), 
     395                        'warnDeleteMenu' => __("You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete."), 
    395396                        'saveAlert' => __('The changes you made will be lost if you navigate away from this page.'), 
    396397                ) ); 
    397398 
  • wp-admin/js/nav-menu.dev.js

     
    113113                                 * @param jQuery metabox The metabox jQuery object. 
    114114                                 */ 
    115115                                addSelectedToMenu : function(processMethod) { 
     116                                        if ( ! document.getElementById('menu-to-edit') ) { 
     117                                                alert( navMenuL10n.menuNotCreated ); 
     118                                                return false; 
     119                                        } 
     120 
    116121                                        return this.each(function() { 
    117122                                                var t = $(this), menuItems = {}, 
    118123                                                        checkboxes = t.find('.tabs-panel-active .categorychecklist li input:checked'), 
     
    555560                        $('#menu-management input, #menu-management select, #menu-management, #menu-management textarea').change(function(){ 
    556561                                api.registerChange(); 
    557562                        }); 
    558                         window.onbeforeunload = function(){ 
    559                                 if ( api.menusChanged ) 
    560                                         return navMenuL10n.saveAlert; 
    561                         }; 
     563 
     564                        if ( document.getElementById('menu-to-edit') ) 
     565                                window.onbeforeunload = function(){ 
     566                                        if ( api.menusChanged ) 
     567                                                return navMenuL10n.saveAlert; 
     568                                }; 
    562569                }, 
    563570 
    564571                registerChange : function() { 
  • wp-admin/nav-menus.php

     
    5656                check_admin_referer( 'add-menu_item', 'menu-settings-column-nonce' ); 
    5757                if ( isset( $_REQUEST['nav-menu-locations'] ) ) 
    5858                        set_theme_mod( 'nav_menu_locations', $_REQUEST['menu-locations'] ); 
    59                 elseif ( isset( $_REQUEST['menu-item'] ) ) 
    60                         wp_save_nav_menu_items( $nav_menu_selected_id, $_REQUEST['menu-item'] ); 
     59                elseif ( isset( $_REQUEST['menu-item'] ) ) { 
     60                        if ( empty( $nav_menu_selected_id ) )  
     61                                $messages[] = '<div id="message" class="error"><p>' . __('You must first create a menu before adding any items.') . '</p></div>'; 
     62                        else 
     63                                wp_save_nav_menu_items( $nav_menu_selected_id, $_REQUEST['menu-item'] ); 
     64                } 
    6165                break; 
    6266        case 'move-down-menu-item' : 
    6367                // moving down a menu item is the same as moving up the next in order