By default users with the role of editor cannot see the “Appearance” menu and are not able to access any sub pages, including the menu editor.
If you want to give users with the role of editor the ability to edit menus on the site but not have access to other theme options, simply add the following code to your functions.php file:
// Allow editors to see Appearance menu $role_object = get_role( 'editor' ); $role_object->add_cap( 'edit_theme_options' ); function hide_menu() { // Hide theme selection page remove_submenu_page( 'themes.php', 'themes.php' ); // Hide widgets page remove_submenu_page( 'themes.php', 'widgets.php' ); // Hide customize page global $submenu; unset($submenu['themes.php'][6]); } add_action('admin_head', 'hide_menu');