Hallo zusammen,
für eine größere Anwendung mit unterschiedlichen Benutzergruppen möchte ich für alle Benutzer außer Admin das Dashboard aufräumen. Die Nutzer sollen nur noch wenige Menüeinträge sehen können. Da ich ohnehin ein individuelles Plugin erstelle, findet das Entfernen von Menüeinträgen pre Code statt. Für die von Wordpress bereit gestellten Menüeinträge wie Beitrage, Plugins, Design... funktioniert dies problemlos. Nun sind ein paar Plugins installiert, die ebenfalls das Menü erweitern. Wie entferne ich diese Menüeinträge?
Mein Code für das Löschen von Menüeintrgen:
function remove_menus () {
global $menu;
global $current_user;
//$restricted = array(__('Artikel'), __('Mediathek'), __('Links'), __('Seiten'), __('Kommentare'), __('Design'), __('Plugins'), __('Benutzer'), __('Werkzeuge'), __('Einstellungen'), __('Maintenance'));
$restricted = array( __('Beiträge'),__('Werkzeuge'), __('Kommentare'), __('Einstellungen'), __('Maintenance'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){
// Einstellungen entfernen für Kunden
if ( in_array( 'kunde', $current_user->roles )|| in_array( 'vermittler', $current_user->roles ) ){
unset($menu[key($menu)]);
}
}
}
if ( in_array( 'kunde', $current_user->roles )|| in_array( 'vermittler', $current_user->roles ) ){
//Hauptmenü Mediathek, Untermenüs Medienübersicht:
remove_menu_page('upload.php');
remove_submenu_page('upload.php', 'upload.php');
remove_submenu_page('upload.php', 'media-new.php');
// Menüs aus den Plugins
}
}
add_action('admin_menu', 'remove_menus');
Alles anzeigen
Jetzt sollen noch die durch Plugins eingetragenen Items gelöscht werden, remove_menu_page() funktioniert nicht. Es handelt sich um folgende drei urls:
- /wp-admin/admin.php?page=maintenance
- /wp-admin/admin.php?page=dpMaintenanceLite-settings
- /wp-admin/admin.php?page=all-in-one-seo-pack/aioseop_class.php
dabei hat die letzte Adresse auch noch Unterseiten wie /wp-admin/admin.php?page=all-in-one-seo-pack/aioseop_performance.php. Was ist zu tun?
Herzlichen Dank im Voraus
Ottilie