8. Benutzer und Rechte

In den Kapiteln 6.2. “Benutzerrechte” und 6.3. “Benutzerrollen” haben Sie bereits gelernt, welche Benutzer und Rollen es gibt und wie diese dazu benutzt werden können, Zugriff auf bestimmte Seiten oder Aktionen zu beschränken.

Noch vor ein paar Jahren hatte WordPress keine Benutzer und Rechte. Es gab einen Login mit dem sich alle Benutzer einloggen konnten. In Version 2.0.0. tauchte dann erstmals die Funktion wp_insert_user() auf. Damit war klar: WordPress konnte von nun an auch mehrere Benutzer verwalten. Und das ist auch gut so, denn damit tat das vormals kleine Bloggingsystem WordPress wieder einen großen Schritt hin in Richtung Content Management System.

Mit der Einführung von Benutzerrollen und -rechten wurde auch der Sicherheit eine größere Bedeutung zugewiesen. Welche Funktionen da eine Rolle spielen, haben Sie im Kapitel zur Plugin Sicherheit bereits gelernt. Aber es gibt noch mehr interessante Funktionen, die ich Ihnen diesem Kapitel vermitteln möchte.

Hinweis

  • Im nachfolgenden wird oft der Begriff „Benutzer“ gewählt. Ein Benutzer in Sinne von WordPress ist jemand, der ein Konto auf der aktuellen Seite besitzt. Sich also vorher registriert hat.
    Die Unterscheidung ist deshalb wichtig, weil ein Benutzer auch ein Besucher einer Seite (also ein Benutzer der Website an sich) sein kann. Ein Besucher hat aber in der Regel kein eigenes Konto.
  • Einige ältere Plugins verlassen sich darauf, dass es einen Benutzernamen admin gibt. Das kommt daher, dass WordPress früher immer automatisch einen Benutzer mit diesem Namen angelegt hat. In späteren Versionen wurde es allerdings auch möglich, den initialen Benutzer einen anderen Namen zu geben. Deswegen sollten Sie sich nie darauf verlassen, dass der Benutzer admin auch tatsächlich existiert.
  • Viele Benutzerfunktionen, die ich Ihnen im nachfolgenden präsentiere sind erst nach dem Laden der Plugins verfügbar. Das bedeutet, Sie sollten die Funktionen immer im init oder nach dem init-Hook ausführen und nicht direkt in Ihrer Plugin-Datei. PHP wird Sie ohnehin darauf aufmerksam machen und einen „Fatal Error“ ausgeben.