I would like to be able to grant my editors the power to change the menu, can this be done?
The appearance tab doesn’t appear to be an option at all, can I make it so?
I would like to be able to grant my editors the power to change the menu, can this be done?
The appearance tab doesn’t appear to be an option at all, can I make it so?
You must be logged in to post a comment.
add this to your theme’s
functions.php
:Update (suggested in comments):
EDIT: update for WP 4.9 & only hiding menu items for Editor
If you want your users to be able to change the navigation menu, but not the other options under appearance: use this
You can comment out this entire code after you have refreshed your admin panel, because the above code will make persistent changes to the database.
You now have all the options under appearance visible to the editors. You can hide the other options like so:
The last 3 lines in the
hide_menu()
function are theme specific for my theme. You can find the second parameter by clicking on the submenu you want to hide, in the admin panel. Your URL will then be something like: example.com/wp-admin/themes.php?page=yiw_panelSo, in this example, the second parameter for the
remove_submenu_page()
function will beyiw_panel
In WordPress 3.8, this would be better code than the current accepted answer.
When I look at the admin menu structure, it seems the
nav-menus.php
link is tied to the capabilityedit_theme_options
. Can you modify the editor role to include this capability? This would also give them the option to edit widgets, I don’t know whether this is a problem? All the menu Ajax stuff is restricted by this capability, so just changing the admin menu capability for editing menus will probably not work.instal plugin “User Role Editor” – Switch edit_theme_options ON – install plugin Adminimize – switch off “Widgets” and “Switch Theme” for Editors 😉
It’s 2020, WordPress is now past V5.3 so i thought i would contribute an updated version in which the setting is saved only once in the database – upon theme activation, and removed when the theme is desactivated.
I also prefer to code in an OOP style so this is an OOP version:
I´ve found, that your menu will work this way: instal plugin “User Role Editor” and there you can edit condition for editor role and other too. Switch edit_theme_options ON. But now: you will see “menu” -option under “themes”, “widgets”.
For me: After click to “menu” (as editor) I´d not see filled options but empty. So I´d deactivate plugin “User Role Editor” and filled options for “menu” appears correctly. Note that deactivating plugin “User Role Editor” remains conditions for editor active! Good for me, maybe it will help you too