Ticket #13378: 13378.add.menu.save.diff
| File 13378.add.menu.save.diff, 3.5 KB (added by koopersmith, 3 years ago) |
|---|
-
wp-admin/js/nav-menu.dev.js
679 679 }, 680 680 681 681 eventOnClickMenuSave : function(clickedEl) { 682 var locs = ''; 683 // Copy menu theme locations 684 $('#nav-menu-theme-locations select').each(function() { 685 locs += '<input type="hidden" name="' + this.name + '" value="' + $(this).val() + '" />'; 686 }); 687 $('#update-nav-menu').append( locs ); 682 688 // Update menu item position data 683 689 api.menuList.find('.menu-item-data-position').val( function(index) { return index + 1; } ); 684 690 return true; -
wp-admin/nav-menus.php
270 270 case 'update': 271 271 check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' ); 272 272 273 if ( ! current_theme_supports('nav-menus') && ! current_theme_supports('widgets') ) 274 break; 275 276 // Update menu theme locations 277 set_theme_mod( 'nav_menu_locations', $_POST['menu-locations'] ); 278 273 279 // Add Menu 274 280 if ( 0 == $nav_menu_selected_id ) { 275 if ( current_theme_supports('nav-menus') || current_theme_supports('widgets') ) { 276 $new_menu_title = esc_html( $_POST['menu-name'] ); 281 $new_menu_title = esc_html( $_POST['menu-name'] ); 277 282 278 if ( $new_menu_title ) {279 $_nav_menu_selected_id = wp_update_nav_menu_object( 0, array('menu-name' => $new_menu_title) );283 if ( $new_menu_title ) { 284 $_nav_menu_selected_id = wp_update_nav_menu_object( 0, array('menu-name' => $new_menu_title) ); 280 285 281 if ( is_wp_error( $_nav_menu_selected_id ) ) { 282 $messages[] = '<div id="message" class="error"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>'; 283 } else { 284 if ( ( $_menu_locations = get_registered_nav_menus() ) && 1 == count( wp_get_nav_menus() ) ) 285 set_theme_mod( 'nav_menu_locations', array( key( $_menu_locations ) => $_nav_menu_selected_id ) ); 286 unset( $_menu_locations ); 287 $_menu_object = wp_get_nav_menu_object( $_nav_menu_selected_id ); 288 $nav_menu_selected_id = $_nav_menu_selected_id; 289 $nav_menu_selected_title = $_menu_object->name; 290 $messages[] = '<div id="message" class="updated"><p>' . sprintf( __('The <strong>%s</strong> menu has been successfully created.'), $nav_menu_selected_title ) . '</p></div>'; 291 } 286 if ( is_wp_error( $_nav_menu_selected_id ) ) { 287 $messages[] = '<div id="message" class="error"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>'; 292 288 } else { 293 $messages[] = '<div id="message" class="error"><p>' . __('Please enter a valid menu name.') . '</p></div>'; 289 if ( ( $_menu_locations = get_registered_nav_menus() ) && 1 == count( wp_get_nav_menus() ) ) 290 set_theme_mod( 'nav_menu_locations', array( key( $_menu_locations ) => $_nav_menu_selected_id ) ); 291 unset( $_menu_locations ); 292 $_menu_object = wp_get_nav_menu_object( $_nav_menu_selected_id ); 293 $nav_menu_selected_id = $_nav_menu_selected_id; 294 $nav_menu_selected_title = $_menu_object->name; 295 $messages[] = '<div id="message" class="updated"><p>' . sprintf( __('The <strong>%s</strong> menu has been successfully created.'), $nav_menu_selected_title ) . '</p></div>'; 294 296 } 297 } else { 298 $messages[] = '<div id="message" class="error"><p>' . __('Please enter a valid menu name.') . '</p></div>'; 295 299 } 296 300 297 301 // update existing menu