Menüs für Redakteur Rolle ausblenden
Für bestimmte Usecases ist es erfoderlich, einem WordPress-Benutzer mit der Rolle “Redakteur” einige der Navigationspunkte zu sperren. Häufig soll der Redakteur nicht auf die Themeeinstellungen zugreifen und der Customizer muss ebenfalls ausgeblendet werden. Zumeist dient es der Sicherheit des Nutzers selbst: Somit wird nämlich vermieden, dass er aus Versehen oder Unwissen das System lahmlegt.

Mit den folgenden Codefragmenten in der functions.php erreicht man dieses Ziel schnell und einfach:
// Redakteur darf das "Design" Menü sehen
$role_object = get_role( 'editor' );
$role_object->add_cap( 'edit_theme_options' );
function remove_menus(){
// get current login user's role
$roles = wp_get_current_user()->roles;
// test role
if( !in_array('editor',$roles)){
return;
}
remove_menu_page( 'upload.php' );
remove_menu_page( 'edit-comments.php' );
remove_submenu_page( 'themes.php', 'themes.php' );
remove_submenu_page( 'themes.php', 'customize.php' );
remove_submenu_page( 'themes.php', 'nav-menus.php' );
remove_menu_page( 'tools.php' );
global $submenu;
unset($submenu['themes.php'][6]);
}
add_action( 'admin_menu', 'remove_menus' , 100 );
