Suchen Sie nach einer Möglichkeit, den Zugriff auf Menüpunkte basierend auf dem Benutzernamen einzuschränken? Obwohl es wahrscheinlich ein Plugin dafür gibt, haben wir einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um Admin-Menüpunkte in WordPress nach Benutzername einzuschränken.
Anweisungen:
Sie müssen diesen Code nur zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin einfügen:
function remove_menus()
{
global $menu;
global $current_user;
get_currentuserinfo();
if($current_user->user_login == 'username')
{
$restricted = array(__('Posts'),
__('Media'),
__('Links'),
__('Pages'),
__('Comments'),
__('Appearance'),
__('Plugins'),
__('Users'),
__('Tools'),
__('Settings')
);
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}// end while
}// end if
}
add_action('admin_menu', 'remove_menus');
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress hinzufügen, damit Sie Ihre Website nicht versehentlich beschädigen.
Wenn Ihnen dieser Code-Schnipsel gefallen hat, ziehen Sie bitte in Betracht, unsere anderen Artikel auf der Website zu lesen, wie z. B.: 27 beste WordPress-Business-Themes für Ihre Website und wie man ein WordPress-Spendenformular erstellt.
Hallo, haben Sie eine Methode, um das Menü eines bestimmten Plugins auszublenden und andere zuzulassen? Ich muss einem Benutzer (DB_manager) einschränken, dass er nur das Form Database-Plugin verwalten kann und sonst nichts im Admin-Panel.
Danke, aber es scheint nicht für benutzerdefinierte Beitragstypen zu funktionieren. Irgendwelche Vorschläge?
Schon mal gesehen. Ziemlich nützlich, außer dass es nicht mit Menüs zu funktionieren scheint, die Leerzeichen enthalten, wie zum Beispiel:
__(‘Some Menu’)
Ich habe ein paar verschiedene Sonderzeichen wie Unterstriche, geschützte Leerzeichen usw. ausprobiert, aber es scheint nicht zu funktionieren. Habe auch die Priorität angepasst, aber es scheint, dass diese Funktion keine Leerzeichen im Array erkennt. Irgendwelche Ideen?
Hallo Bryan,
Sie möchten vielleicht diese Methode verwenden
http://codex.wordpress.org/Function_Reference/remove_menu_page
Sie könnten dann „remove_menu_page“ und „remove_submenu_page“ verwenden
Sie könnten dann die Schleife weglassen, so etwas wie: http://pastebin.com/8ShwZ5rg
Ich habe das nicht getestet, aber es sollte funktionieren.
Dieser Schnipsel blendet nur Menüpunkte auf dem Bildschirm aus, schränkt aber nicht den Zugriff per URL ein.
Gibt es eine Möglichkeit, eine Admin-Funktion eines Plugins, insbesondere eShop, aus dem Dashboard zu entfernen?
Diese Methode funktioniert möglicherweise besser für Sie,
http://codex.wordpress.org/Function_Reference/remove_menu_page