Zugriff auf Menüpunkte im Backend einschränken

von | Sep 12, 2014 | Technik | 3 Kommentare

Schlagwörter: functions.php

Wenn man in einem Team arbeitet, dann gibt es darin wirkliche WordPress Spezialisten und totale Computer Anfänger. Aus diesem Grund gibts immer wieder Probleme weil Leute am falschen Ort rumgeklickt haben, und was deaktiviert oder gelöscht haben. Darum ist es am einfachsten, wenn man die Menüpunkte im Backend auf das Können und die Rechte des entsprechenden User anpassen tut.

Natürlich könnte man jetzt ein riesen grosses Administrationsplugin installieren, aber das ist nicht immer die beste Möglichkeit. Immerhin bedeutet ein zusätzliches Plugin meistens auch ein Verlust an Geschwindigkeit und auch an Sicherheit. Ich habe schon mal euch gezeigt, wie man Plugins verschwinden lassen kann, so dass niemand was daran „rumpfuschen“ (absichtlich oder unabsichtlich) kann.

Jetzt möchte ich euch eine weitere Lösung zeigen, wie man die Menüpunkte im Backend anpassen kann und zwar basierend auf den Benutzername.

Dafür gibt einfach den folgenden Functions.php Code in euer File ein und aktualisiert es.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function remove_menus()
{
global $menu;
global $current_user;
get_currentuserinfo();
 
if($current_user->user_login == 'derBenutzername')
{
$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');

Ersetzt einfach „derBenutzername“ mit dem gewünschten Benutzername.

Mit diesen Befehlen könnt ihr dann die entsprechenden Menüpunkte ausblenden
__(‚Media‘),
__(‚Links‘),
__(‚Pages‘),
__(‚Comments‘),
__(‚Appearance‘),
__(‚Plugins‘),
__(‚Users‘),
__(‚Tools‘),

So habt ihr die absolute Kontrolle darüber, wer in die entsprechende Punkte zugriff hat. Eine ganz einfache und sehr wirkungsvolle Lösung

3 Kommentare

  1. Christian Bernet

    Zum Vergleich: Mit TYPO3 CMS werden solche Einstellungen bequem über die Zugriffsverwaltung (ohne Installation eines zusätzliches Plugin und Programmierungskenntnisse sind ebenfalls nicht nötig) eingestellt. PS: Auch ein Monster kann ein Freund sein. 🙂

    Antworten
    • Chefblogger

      stimmt ne zugriffsverwaltung hat Typo3 bereits drinn und weisst du warum lieber Christian? Das Pluginsystem von Typo3 ist ja auch ziemlich rückständig *g* da würd ich auch möglichst viel direkt integrieren als sich mit dem dortigen pluginsystem herumschlagen müssen *gggggg*

      grüsse ins „nachbardorf“

      Antworten
      • Christian Bernet

        Lieber Chefblogger, ich weiss jetzt nicht genau, wie ernst du das mit dem „ziemlich rückständigen“ Pluginsystem meinst. Aber ich finde es ziemlich mutig ein modernes MVC Framework wie Extbase und Fluid als rückständig zu bezeichnen (mehr Infos findest unter http://docs.typo3.org/typo3cms/ExtbaseFluidBook/).
        Beste Grüsse zurück nach St. Gallen

        Antworten

Einen Kommentar abschicken

Du kannst auf Fediverse-Profile verlinken, indem du fl:@benutzername in deinem Kommentar eingibst.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert