From 795ce48b8384557c6591f7fcff1b21063ac65daa Mon Sep 17 00:00:00 2001 From: westi Date: Sat, 16 Jan 2010 22:59:27 +0000 Subject: [PATCH] Ensure that inaccessible parent menus are marked as such even if they have accessible children. See #11922. git-svn-id: http://svn.automattic.com/wordpress/trunk@12738 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/menu.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wp-admin/menu.php b/wp-admin/menu.php index 1d09dd85c..65bdf8e6c 100644 --- a/wp-admin/menu.php +++ b/wp-admin/menu.php @@ -246,11 +246,13 @@ do_action('admin_menu', ''); // Remove menus that have no accessible submenus and require privs that the user does not have. // Run re-parent loop again. foreach ( $menu as $id => $data ) { + if ( ! current_user_can($data[1]) ) + $_wp_menu_nopriv[$data[2]] = true; + // If submenu is empty... if ( empty($submenu[$data[2]]) ) { // And user doesn't have privs, remove menu. - if ( ! current_user_can($data[1]) ) { - $_wp_menu_nopriv[$data[2]] = true; + if ( isset( $_wp_menu_nopriv[$data[2]] ) ) { unset($menu[$id]); } }