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, 8 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