From 2baf2d5b567c6d894dbcb6a030cd6ec9fe3151a0 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Tue, 19 Feb 2013 01:31:42 +0000 Subject: [PATCH] Fix a warning on Menus screen if $menu_locations is false. Fix menu selection after creating a first menu on new install. props jkudish. fixes #23508. see #23119. git-svn-id: http://core.svn.wordpress.org/trunk@23453 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/nav-menus.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/wp-admin/nav-menus.php b/wp-admin/nav-menus.php index 9ac0d76881..6c034f1024 100644 --- a/wp-admin/nav-menus.php +++ b/wp-admin/nav-menus.php @@ -264,6 +264,8 @@ switch ( $action ) { // Get existing menu locations assignments $locations = get_registered_nav_menus(); $menu_locations = get_nav_menu_locations(); + if ( empty( $menu_locations ) || ! is_array( $menu_locations ) ) + $menu_locations = array(); // Remove menu locations that have been unchecked foreach ( $locations as $location => $description ) { @@ -371,8 +373,12 @@ if ( ! $add_new_screen && 0 < $menu_count && isset( $_GET['action'] ) && 'delete $nav_menu_selected_id = $nav_menus[0]->term_id; // Set $nav_menu_selected_id to 0 if no menus -if ( $one_theme_location_no_menus ) +if ( $one_theme_location_no_menus ) { $nav_menu_selected_id = 0; +} elseif ( empty( $nav_menu_selected_id ) && ! empty( $nav_menus ) && ! $add_new_screen ) { + // if we have no selection yet, and we have menus, set to the first one in the list + $nav_menu_selected_id = $nav_menus[0]->term_id; +} // Update the user's setting if ( $nav_menu_selected_id != $recently_edited && is_nav_menu( $nav_menu_selected_id ) )