From 8420f41a24210a375c084e46c7e9a980447c64be Mon Sep 17 00:00:00 2001 From: ryan Date: Thu, 29 Apr 2010 18:27:46 +0000 Subject: [PATCH] Fix initial hidden meta boxes for nav menus. see #13134 git-svn-id: http://svn.automattic.com/wordpress/trunk@14304 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/nav-menu.php | 32 +++++++++++++++----------------- wp-admin/nav-menus.php | 3 ++- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/wp-admin/includes/nav-menu.php b/wp-admin/includes/nav-menu.php index 03cb3ea01..10cb0a824 100644 --- a/wp-admin/includes/nav-menu.php +++ b/wp-admin/includes/nav-menu.php @@ -321,28 +321,26 @@ function wp_nav_menu_setup() { function wp_initial_nav_menu_meta_boxes() { global $wp_meta_boxes; - if ( !get_user_option( 'meta-box-hidden_nav-menus' ) && is_array($wp_meta_boxes) ) { + if ( get_user_option( 'metaboxhidden_nav-menus' ) || ! is_array($wp_meta_boxes) ) + return; + + $initial_meta_boxes = array( 'manage-menu', 'create-menu', 'add-custom-links', 'add-page', 'add-category' ); + $hidden_meta_boxes = array(); - $initial_meta_boxes = array( 'manage-menu', 'create-menu', 'add-custom-links', 'add-page', 'add-category' ); - $hidden_meta_boxes = array(); - - foreach ( array_keys($wp_meta_boxes['nav-menus']) as $context ) { - foreach ( array_keys($wp_meta_boxes['nav-menus'][$context]) as $priority ) { - foreach ( $wp_meta_boxes['nav-menus'][$context][$priority] as $box ) { - if ( in_array( $box['id'], $initial_meta_boxes ) ) { - unset( $box['id'] ); - } else { - $hidden_meta_boxes[] = $box['id']; - } + foreach ( array_keys($wp_meta_boxes['nav-menus']) as $context ) { + foreach ( array_keys($wp_meta_boxes['nav-menus'][$context]) as $priority ) { + foreach ( $wp_meta_boxes['nav-menus'][$context][$priority] as $box ) { + if ( in_array( $box['id'], $initial_meta_boxes ) ) { + unset( $box['id'] ); + } else { + $hidden_meta_boxes[] = $box['id']; } } } - $user = wp_get_current_user(); - update_user_option( $user->ID, 'metaboxhidden_nav-menus', $hidden_meta_boxes, true ); - - // returns all the hidden metaboxes to the js function: wpNavMenu.initial_meta_boxes() - return join( ',', $hidden_meta_boxes ); } + $user = wp_get_current_user(); + update_user_option( $user->ID, 'metaboxhidden_nav-menus', $hidden_meta_boxes, true ); + $option = get_user_option( 'metaboxhidden_nav-menus', $user->ID); } /** diff --git a/wp-admin/nav-menus.php b/wp-admin/nav-menus.php index db0fcc9ca..b890499e2 100644 --- a/wp-admin/nav-menus.php +++ b/wp-admin/nav-menus.php @@ -319,6 +319,8 @@ if ( current_theme_supports('nav-menus') ) { $messages[] = '

' . __('The current theme does not support menus.') . '

'; } +wp_initial_nav_menu_meta_boxes(); + // Get the admin header require_once( 'admin-header.php' ); ?> @@ -403,7 +405,6 @@ require_once( 'admin-header.php' ); -