Menus: Save display locations for new menus.

Fixes a bug preventing the locations saving when creating a new menu. Introduced in [50938].

Props dlh, andraganescu, mukesh27, desrosj.
Fixes #53877.


Built from https://develop.svn.wordpress.org/trunk@51688


git-svn-id: http://core.svn.wordpress.org/trunk@51294 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Peter Wilson 2021-08-30 04:12:57 +00:00
parent 26a276db6f
commit 34d8dd914c
2 changed files with 11 additions and 1 deletions

View File

@ -316,6 +316,7 @@ switch ( $action ) {
check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' ); check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' );
// Merge new and existing menu locations if any new ones are set. // Merge new and existing menu locations if any new ones are set.
$new_menu_locations = array();
if ( isset( $_POST['menu-locations'] ) ) { if ( isset( $_POST['menu-locations'] ) ) {
$new_menu_locations = array_map( 'absint', $_POST['menu-locations'] ); $new_menu_locations = array_map( 'absint', $_POST['menu-locations'] );
$menu_locations = array_merge( $menu_locations, $new_menu_locations ); $menu_locations = array_merge( $menu_locations, $new_menu_locations );
@ -353,6 +354,15 @@ switch ( $action ) {
break; // There should only be 1. break; // There should only be 1.
} }
set_theme_mod( 'nav_menu_locations', $locations );
} elseif ( count( $new_menu_locations ) > 0 ) {
// If locations have been selected for the new menu, save those.
$locations = get_nav_menu_locations();
foreach ( array_keys( $new_menu_locations ) as $location ) {
$locations[ $location ] = $nav_menu_selected_id;
}
set_theme_mod( 'nav_menu_locations', $locations ); set_theme_mod( 'nav_menu_locations', $locations );
} }

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.9-alpha-51686'; $wp_version = '5.9-alpha-51688';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.