diff --git a/wp-includes/class-wp-customize-nav-menus.php b/wp-includes/class-wp-customize-nav-menus.php index b15c9dce5b..3243c12c59 100644 --- a/wp-includes/class-wp-customize-nav-menus.php +++ b/wp-includes/class-wp-customize-nav-menus.php @@ -597,7 +597,14 @@ final class WP_Customize_Nav_Menus { // Attempt to re-map the nav menu location assignments when previewing a theme switch. $mapped_nav_menu_locations = array(); if ( ! $this->manager->is_theme_active() ) { - $mapped_nav_menu_locations = wp_map_nav_menu_locations( get_nav_menu_locations(), $this->original_nav_menu_locations ); + $theme_mods = get_option( 'theme_mods_' . $this->manager->get_stylesheet(), array() ); + + // If there is no data from a previous activation, start fresh. + if ( empty( $theme_mods['nav_menu_locations'] ) ) { + $theme_mods['nav_menu_locations'] = array(); + } + + $mapped_nav_menu_locations = wp_map_nav_menu_locations( $theme_mods['nav_menu_locations'], $this->original_nav_menu_locations ); } foreach ( $locations as $location => $description ) { diff --git a/wp-includes/version.php b/wp-includes/version.php index bd28f198fc..8fd15a1129 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.9-beta1-41809'; +$wp_version = '4.9-beta1-41810'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.