Für Menschen · Seien Sie begeistert und Sie werden begeistern !
WordPress bringt ein Rollensystem mit, dabei kann man jedem User eine Rolle zuweisen: registrierter Leser (0), Mitarbeiter (1), Autor (2), Herausgeber (7) und Administrator (10). Dies ist allerdings nur unter WP 2.* so, denn unter WP 1.* wurden die Befugnisse 1-10 direkt zugewiesen.
Nun muss man beim schreiben von Plugins diese Rolle manchmal abfragen und um dies ein wenig übersichtlicher und schneller zu finden, habe ich die API durchforstet und mir die wichtigsten Punkte hier abgelegt.
Die ID und die zugeordneten Level sind in der Datenbank in Tabelle Tabel_Präfix_usermeta zu finden. Die Level finden sich im Feld (Schlüssel) meta_key und Datensatzeintrag Table_Präfix_user_level. Das ID ist Schlüsselfeld user_id .
Jedem User kann ein Name zugeordnet werden, der von Userlevel abhängt. Im beispiel wir dem Administrator der Name "Neuer_Name" zugeordnet.
// Start Userabfrage
$role = get_role('administrator');
$role->add_cap('Neuer_Name');
Das Abfargen des Benutzerlevels erfolgt mir der Funktion current_user_can()
Die ganze Abfrage für Editor und Administrator sieht dann folgendermaßen aus.
// Start Userabfrage
$role = get_role('administrator');
if ($role !== NULL)
$role->add_cap('Neuer_Name');
$role = get_role('editor');
if ($role !== NULL)
$role->add_cap('Neuer_Name');
if ( current_user_can('Neuer_Name') ) {
echo " ";
}
else {
echo " ";
} // Ende Userabfrage
Ebenso können die Befugnisse des Benutzers (1-10) abgefragt werden.
$user_id = 1;
$user = new WP_User($user_id);
// Abfrage Befugnisse
if ( $user->has_cap('Neuer_Name') ) ...
Außerdem können komplett neue Rollen definiert werden.
$role = add_role('Neuer_Name', 'Neuer Name');
$role->add_cap('Neuer_Name');
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
11. September 2008 um 01:08
Hallo,
gibt es ein Plugin, oder eine Möglichkeit, einen registrierten User so wie im User level 1 Schreibrechte zu geben, aber er soll im Dashboard nur schreiben sehen und nicht verwalten, oder Kommentare einsehen?
Also User Level 0 mit nur Write, eventuell eigene Post verwalten, aber keine
Kommentare einsehen. (Auch schon wegen der IP)
Grüße
Trelas
11. September 2008 um 07:50
@Trelas: Ja, mit dem Role Manager kann man so eine Rolle erstellen.