Wenn Sie eine WordPress-Website allein betreiben, müssen Sie nicht über Benutzerrollen nachdenken. Falls Sie jedoch anderen Personen Zugriff auf Ihre Website geben müssen, ist es wichtig, dass Sie wissen, was Benutzerrollen sind und wie man sie richtig verwaltet.
Wenn Sie als Administrator Ihrer WordPress-Site(s) effektiv sein wollen, müssen Sie wissen, was ein Benutzer ist, wie Sie neue Benutzer anlegen und warum Sie sie brauchen. Das Ziel dieses Beitrags ist es, Ihnen zu helfen, das gesamte Bild der WordPress-Benutzerverwaltung zu verstehen und wie das gesamte Benutzerrollensystem funktioniert. Außerdem werden wir einige Möglichkeiten zur Modifikation dieses Rollensystems behandeln.
Inhaltsverzeichnis:
- Die Grundlagen der WordPress-Benutzerrollen und -fähigkeiten
- Warum WordPress-Benutzerrollen wichtig sind
- Die 6 vordefinierten WordPress-Benutzerrollen
- Neue WordPress-Benutzer registrieren und zuweisen. Rollen
- Wie man Standard-WordPress-Benutzerrollen erstellt
- Wie man bestehende Benutzerrollen mit einem Plugin modifiziert
- Wie man benutzerdefinierte WordPress-Benutzerrollen mit einem Plugin erstellt
- Wie man benutzerdefinierte Rollen manuell erstellen
- WordPress-Standard-Benutzerfähigkeiten
- Wie man Benutzerfähigkeiten manuell definiert
- Wie man die Fähigkeiten eines bestimmten Benutzers anpasst
- Wie man Benutzerrollen
- Wie Sie Benutzerrollen effektiv auf Ihrer Website einsetzen
Die Grundlagen der WordPress-Benutzerrollen und -Fähigkeiten
Jeder Account, der sich bei einer WordPress-Site anmelden kann, ist ein „Benutzer“.“ Benutzerkonten haben die Berechtigung, Autoren von Beiträgen, Seiten, Medien usw. zu sein. Als WordPress-Administrator haben Sie die Möglichkeit, neue Benutzer anzulegen und ihre Fähigkeiten zu verwalten (zu ändern), wann immer Sie wollen.
Die „Fähigkeit“ ist die einzelne Aktion, die eine bestimmte Benutzerrolle ausführen darf. Für einen tieferen Einblick in dieses Konzept können Sie sich die Capability vs. Role Tabelle im WordPress Codex ansehen.
Zusätzlich hat jeder WordPress-Benutzer eine „Rolle“, die Sie beim Anlegen des neuen Kontos auswählen müssen.
Warum WordPress-Benutzerrollen wichtig sind
Ein gutes Beispiel hierfür ist, dass Sie einen Drittanbieter als Content Creator auf Ihrer Website haben. Für diesen Benutzer würden Sie bestimmte Fähigkeiten wie die Erstellung von Inhalten zur Verfügung stellen wollen, aber vielleicht den Zugriff darauf beschränken. Sie möchten nicht, dass solche Benutzer die Möglichkeit haben, Plugins zu installieren, Themes zu ändern oder vielleicht sogar ihre eigenen Beiträge zu veröffentlichen.
Mit der Verwaltung von WordPress-Rollen und -Funktionen können Sie einem Benutzer nur die ganz bestimmten Rechte geben, die er für seine Arbeit benötigt. Das hilft Ihrer Website, reibungslos zu laufen, und macht sie zusätzlich sicherer, indem Sie den Ansatz nutzen, der als das Prinzip der geringsten Privilegien bekannt ist.
Die Administratorrolle ist die mächtigste Rolle auf einer einzelnen WordPress-Website. Diese Rolle jemandem zu geben, der nur Veröffentlichungs- und Bearbeitungsfunktionen benötigt, ist unnötig und nicht optimal im Sinne der Sicherheit. Wenn es um regelmäßige Veröffentlichungsaufgaben geht, ist eine Editor-Rolle mehr als passend. Und wenn der Benutzer nur Beiträge schreiben und veröffentlichen muss, ist die Rolle „Autor“ genau die richtige Wahl für ihn. Die Rolle Administrator wird nur dann benötigt, wenn Sie etwas tun müssen, was andere Rollen nicht können, nämlich Plugins oder Themes installieren (oder deinstallieren), Themes ändern, neue Benutzer anlegen usw. Das Prinzip der geringsten Rechte gibt es nicht ohne Grund – maximale Sicherheit.
Die 6 vordefinierten WordPress-Benutzerrollen
Die Liste der Standard-Benutzerrollen und -fähigkeiten ist im WordPress-Codex verfügbar. Standardmäßig wird WordPress mit sechs Rollen ausgeliefert:
- Superadministrator. Dies ist eine Rolle, die nur für Multi-Site-Netzwerke existiert. Es ist eine mächtigere Version als ein Administrator. Der Super-Administrator hat die Möglichkeit, alle WordPress-Sites im Multi-Site-Netzwerk zu ändern und zu steuern sowie zu entscheiden, wer alle spezifischen Zugriffsarten auf jede dieser Websites hat.
- Administrator. Dies ist die Benutzerrolle, die jeder WordPress-Site-Besitzer verwendet, wenn er sich bei seiner Website anmeldet. Es ist die erste Benutzerrolle, die das CMS standardmäßig vorsieht. Der Administrator ist die mächtigste Rolle, wenn es um eine einzelne WordPress-Site geht. WordPress-Admins stehen an der Spitze der Pyramide, und wenn es etwas gibt, das sie nicht tun können, dann kann es kein anderer Benutzer.
- Editor. Die Benutzerrolle direkt unter dem Administrator ist Editor. Wenn Sie Redakteur einer WordPress-Site sind, können Sie mit Beiträgen, Seiten und Medien arbeiten und diese auf jede erdenkliche Weise verwalten. Sie haben jedoch nicht die Möglichkeit, neue Benutzer anzulegen, Themes und Plugins hinzuzufügen oder irgendetwas zu ändern, was die Funktionalität der Website betrifft.
- Autor. Direkt unter dem Editor befindet sich der Autor. Diese Rolle ist darauf beschränkt, nur ihre eigenen Beiträge und Medien zu ändern. WordPress-Autoren haben nicht die Möglichkeit, Inhalte zu ändern, die von anderen Benutzern erstellt wurden.
- Contributor. Contributors können nur ihre eigenen Beiträge bearbeiten, ihre unveröffentlichten Beiträge löschen und die Website lesen. Sie haben keine Veröffentlichungsmöglichkeiten.
- Abonnent. Diese Rolle ist für Personen gedacht, die nur ein Konto auf Ihrer WordPress-Site haben sollen. Sie haben nur eine einzige Fähigkeit – Ihre Website auf die gleiche Weise zu lesen, wie es jemand ohne Konto tun kann.
Natürlich, da WordPress großartig ist, sind wir nicht darauf beschränkt, nur seine Standardrollen und -fähigkeiten zu verwenden. Als WordPress-Benutzer oder -Entwickler können Sie die Standardrollen und -fähigkeiten ändern und auch neue, spezifische erstellen. Generell können Sie mit dem WordPress-Benutzermanagementsystem viel mehr erreichen als das, was standardmäßig angeboten wird.
Neue WordPress-Benutzer registrieren und Rollen zuweisen
So erstellen Sie Standard-WordPress-Benutzerrollen
Um einen neuen Benutzer mit einer Standard-WordPress-Rolle zu registrieren, müssen Sie nur auf Benutzer → Neu hinzufügen in der Seitenleiste Ihres WordPress-Admin gehen:
Wie Sie bestehende Benutzerrollen mithilfe eines Plugins ändern
Die Standard-Benutzerrollen von WordPress sind so konzipiert, dass sie die meisten Funktionen abdecken, die beim Betrieb einer Website benötigt werden. Sie können diese Standardrollen jedoch modifizieren und ihnen bestimmte Fähigkeiten verleihen.
Der Autor ist eine der Rollen, die Sie in der Standardversion vielleicht nicht mögen. Ja, Autoren sind vielleicht eine vertrauenswürdige Person, aber die Fähigkeit zu haben, ihre eigenen Beiträge zu löschen, kann ziemlich riskant sein.
Es gibt eine Möglichkeit, eine bestehende Rolle zu ändern. Zum Beispiel können Sie die Fähigkeit zum Löschen von Beiträgen für die Autoren entfernen. Wie Sie wissen, gibt es für so ziemlich alles, was Sie sich ausdenken können, ein WordPress-Plugin, und Benutzerrollen sind da keine Ausnahme. Das geht ganz einfach:
- Starten Sie mit der Installation und Aktivierung des PublishPress Capabilities Plugins:
- Nachdem Sie das Plugin aktiviert haben, klicken Sie auf Rollen bearbeiten, um Benutzerrollen zu ändern:
- Wählen Sie die Benutzerrolle aus, die Sie bearbeiten möchten. Das können Sie über die obere Box in der rechten Spalte tun:
- Klicken Sie auf die Schaltfläche Laden.
- Damit werden die Fähigkeiten des Benutzers in die Felder auf der linken Seite geladen:
- Haken Sie die Fähigkeiten ab, die Sie von dieser Benutzerrolle entfernen möchten, oder fügen Sie einige hinzu, wenn Sie es für notwendig halten.
Wie Sie eigene WordPress-Benutzerrollen mit einem Plugin erstellen
Mit demselben PublishPress-Plugin für Fähigkeiten können Sie Ihre eigenen WordPress-Benutzerrollen mit ihren spezifischen Fähigkeiten erstellen.
Nachdem Sie das Plugin installiert und aktiviert haben, gehen Sie auf Users → Capabilities und geben unter Create New Role Ihre gewünschte Benutzerrolle ein:
Eine häufige Rolle, die Blogs und Websites benötigen, ist der Kommentar-Moderator.
Wie Sie im obigen Screenshot sehen können, können Sie mit dem Plugin auch eine andere Rolle mit ihren Fähigkeiten kopieren, eine bestehende Rolle umbenennen sowie eigene Fähigkeiten erstellen.
Benutzerrollen manuell erstellen
Wenn Sie ein Heimwerkertyp sind und sich nicht auf Plugins verlassen wollen, können Sie benutzerdefinierte Benutzerrollen mit ihren spezifischen Fähigkeiten manuell erstellen.
Um Rollen und Fähigkeiten effektiv zu verwalten, gibt es fünf sehr einfache Funktionen:
- add_role(): Ermöglicht es Ihnen, eine benutzerdefinierte Rolle hinzuzufügen.
- remove_role(): Ermöglicht es Ihnen, eine benutzerdefinierte Rolle zu entfernen.
- add_cap(): Ermöglicht es Ihnen, eine benutzerdefinierte Fähigkeit zu einer Rolle hinzuzufügen.
- remove_cap(): Ermöglicht es Ihnen, eine benutzerdefinierte Fähigkeit aus einer Rolle zu entfernen.
- get_role(): Ruft Informationen über eine Rolle sowie die mit der Rolle verbundenen Fähigkeiten ab.
Für diesen Artikel werden wir eine benutzerdefinierte Benutzerrolle mithilfe der Funktion add_role
erstellen. Es gibt drei Parameter:
- Ein Slug-ähnlicher Name für die Rolle (z.B., ‚comment_moderator‘);
- Ein Anzeigename für die Rolle (Kommentar-Moderator)
- Liste der Fähigkeiten, die der Benutzertyp haben soll;
Hier ist ein Beispiel, wie solche PHP-Codezeilen aussehen sollten:
add_action('init', 'wps_add_roles');
function wps_add_roles() {
add_role(
'comment_moderator',
__('Commment Moderator'),
array(
'read' => true,
'edit_posts' => true,
'edit_other_posts' => true,
'edit_published_posts' => true,
'moderate_comments' => true
)
);
}
Auch hier erhält die Rolle nur ihre notwendigen Fähigkeiten – das Moderieren von Kommentaren, das Bearbeiten von Beiträgen (eigene Beiträge, Beiträge anderer Benutzer und veröffentlichte Beiträge) und das Lesen der Website.
Neue Rollen werden in der Datenbank gespeichert und bei Bedarf von WordPress von dort nachgeladen. Sie können sie direkt bei der Aktivierung des Plugins erstellen lassen. Es sollte nichts kaputt machen, wenn Sie die Rollen mit der Init-Aktion verknüpfen, aber es funktioniert nicht so gut.
WordPress Standard-Benutzerfähigkeiten
Es gibt zwei Arten von WordPress-Benutzerfähigkeiten, die sich beide voneinander unterscheiden:
- Meta-Fähigkeiten – hängen vom Kontext ab. Beispiel: ein Benutzer kann einen Beitrag bearbeiten, wenn er der Autor des Beitrags ist (
edit_post
Meta-Fähigkeit) - Primitive Fähigkeiten – hängen nicht vom Kontext ab. Beispiel: Ein Benutzer hat die Fähigkeit, von anderen Benutzern erstellte Beiträge zu bearbeiten (
edit_other_posts
primitive Fähigkeit)
WordPress übersetzt Meta-Fähigkeiten automatisch in eine oder mehrere primitive Fähigkeiten für reguläre Beiträge. Das heißt, wenn Sie Post-Typen verwenden, müssen Sie Meta-Fähigkeiten manuell auf primitive Fähigkeiten abbilden.
Eine ausführliche Liste der eingebauten Fähigkeiten finden Sie im WordPress-Codex.
Wie Sie Benutzerfähigkeiten manuell definieren
In PHP sind WordPress-Rollen Objekte, die Sie verwenden und ändern können. Auf eine WordPress-Rolle kann auf zwei Arten zugegriffen werden: über die globale Variable $wp_roles
oder über eine Accessor-Funktion – get_role
.
Angenommen, Sie möchten die Fähigkeit hinzufügen, dass Redakteure Benutzer entfernen können. So machen Sie es über die globale Variable $wp_roles
:
function wps_editor_can_remove_users(){
global $wp_roles;
$wp_roles->add_cap( 'editor', 'remove_users' );
}
And here is the get_role option:
function wps_editor_can_remove_users() {
$editor = get_role( 'editor' );
$editor->add_cap( 'remove_users' );
}
Im zweiten Beispiel kümmert sich das Holen einer Rolle („editor“) um den Parameter „editor“ beim Aufruf der Methode add_cap. Sie können beide Methoden direkt in der functions.php-Datei Ihres Plugins oder Themes aufrufen.
Beachten Sie, dass sowohl add_cap
als auch remove_cap
(sein Gegenteil) Objektmethoden sind und nicht einfach Funktionen, die Sie aufrufen. Sie können nicht add_cap
(„editor“, „remove_user“) aufrufen. Stattdessen müssen Sie zuerst ein WP_Role-Objekt erhalten und haben die zwei Möglichkeiten – verwenden Sie get_role
oder greifen Sie auf das globale $wp_roles
Objekt zu.
Wie man die Fähigkeiten eines bestimmten Benutzers anpasst
Hier werden wir etwas spezifischer sein, indem wir die Fähigkeiten für einen bestimmten Benutzer eingrenzen und nicht für die gesamte Benutzerrolle. Wenn Sie die volle Kontrolle über Ihre Website haben und die Dinge strikt einschränken möchten, ist es empfehlenswert, die Fähigkeiten für bestimmte Benutzer zu ändern. Diese Methode ist besser, wenn Sie mit Ihren Benutzerrollen im Allgemeinen flexibler sein wollen. Manchmal möchten Sie vielleicht Fähigkeiten hinzufügen oder entfernen, wenn es um einen bestimmten Benutzer geht, wobei Sie wissen, dass Sie dies nicht für jeden anderen in derselben Benutzerrolle tun werden.
Um die Fähigkeiten eines bestimmten Benutzers zu ändern, können Sie die Methoden add_cap
und remove_cap
für den besagten Benutzer verwenden. Hier ein Beispiel:
add_action( 'init', 'wps_david_cant_edit' );
function wps_david_cant_edit() {
$user_id = 13; // The ID of the user
$user = new WP_User( $user_id );
$user->remove_cap( 'edit_posts' );
}
Dies ist ein Override auf einen bestimmten Benutzer, nachdem die allgemeinen Fähigkeiten der Benutzerrolle geladen wurden.
Benutzerrollen testen
Nachdem Sie Ihre eigenen benutzerdefinierten WordPress-Benutzerrollen und -Fähigkeiten mithilfe der Methoden in diesem Beitrag erstellt haben, möchten Sie die Dinge vielleicht testen. Sicherzustellen, dass alles für alle Benutzer gut funktioniert, ist ein Teil Ihrer Aufgabe als WordPress-Administrator.
Die einfachste Methode, um Ihre benutzerdefinierten Benutzerrollen und -fähigkeiten zu testen, besteht darin, mehrere verschiedene Konten mit unterschiedlichen Benutzerrollen zu erstellen. Nachdem Sie das getan haben, loggen Sie sich in jedes dieser Konten ein, um zu prüfen, ob alle ihre Fähigkeiten korrekt funktionieren.
Wenn Sie etwas Zeit sparen möchten, sollten Sie das kostenlose Plugin User Switching verwenden. Damit können Sie schnell zwischen den Benutzerkonten wechseln, ohne sich für jedes zu testende Benutzerkonto an- und abmelden zu müssen. Das Plugin ist bequem im offiziellen WordPress-Plugin-Repository verfügbar.
Wie Sie Benutzerrollen effektiv auf Ihrer Website einsetzen
Es ist wichtig, Benutzerrollen zu verstehen, aber es ist genauso wichtig zu wissen, wie man sie richtig einsetzt.
Wir sind uns bewusst, dass jede WordPress-Site anders ist, aber hier sind einige allgemeine Tipps, um das Benutzerrollensystem optimal zu nutzen:
- Geben Sie Benutzern nur die benötigten Fähigkeiten. Dies ist zwingend erforderlich, wenn Sie Ihre Website und deren Inhalte sicher machen wollen, um sicherzustellen, dass kein Benutzer nicht genehmigte Änderungen vornehmen kann.
- Halten Sie die Anzahl der privilegierten Benutzer so gering wie möglich. Bleiben Sie, wenn möglich, bei einem einzigen Administrator (Sie) und ein paar Redakteuren. Geben Sie die Rolle „Autor“ an Benutzer, die sich als vertrauenswürdig erwiesen haben, und heben Sie die Rolle „Mitwirkender“ für Neulinge auf, die Inhalte erstellen.
- Verwenden Sie Plugins, um die Benutzerrollen anzupassen. Das Standardsystem ist effektiv, aber Benutzerrollen-Plugins helfen Ihnen, Ihre eigenen spezialisierten Benutzerrollen zu erstellen, die vorhandenen zu ändern und mehr.
Erinnern Sie sich daran, dass es für Sie und Ihre WordPress-Site besser ist, zu wenige Berechtigungen zu vergeben als zu viele.
Fazit
Das WordPress-Benutzersystem ist der Weg, mit der Macht über Ihre WordPress-Site umzugehen. Wenn Sie jedem Benutzer eine passende Rolle mit spezifisch eingeschränkten Fähigkeiten zuweisen, haben Sie die volle Kontrolle und ein Gefühl der Sicherheit, dass inhaltlich nichts schiefgehen kann.
Anfänglich kann das ganze WordPress-Benutzerrollen- und Fähigkeiten-System ein bisschen schwer zu verstehen sein und zu komplex erscheinen. Nachdem Sie jedoch das Schlüsselkonzept hinter dem Benutzerverwaltungssystem verstanden haben, werden Sie definitiv ein Meister im Verwalten von Websites werden und entscheiden, wer was tun darf. Das WordPress-Benutzerverwaltungssystem gibt Ihnen außergewöhnliche Flexibilität und ist nur eine weitere Sache, die WordPress großartig macht.