Sidebar
ein-/ausblenden

WP - Plugin Tipp - Userlevel abfragen

Plugin für WordPress SEO

Anzeige

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 .

Zu den verschiedenen Möglichkeiten

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');

Weiterführende Links:

2 Kommentare zu „WP - Plugin Tipp - Userlevel abfragen“

  1. 1
    Kommentar von Trelas

    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

  2. 2
    Kommentar von Frank Bültge

    @Trelas: Ja, mit dem Role Manager kann man so eine Rolle erstellen.

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.