Wie bestimme ich seine aktuelle Rolle, während ein Benutzer einen neuen Beitrag erstellt?
Wie erkenne ich die Rolle des aktuellen Benutzers in WordPress?
Villcoder
Ich gehe davon aus, dass Sie wissen, welche Hooks von WordPress Sie verwenden möchten. Wenn Sie diesen Teil also überspringen, ist es ziemlich einfach, die aktuelle Rolle des Benutzers zu ermitteln
$current_user = wp_get_current_user();
if ( !($current_user instanceof WP_User) )
return;
$roles = $current_user->roles; //$roles is an array
Jetzt können Sie über dieses Array iterieren, um zu sehen, ob der Benutzer eine bestimmte Rolle hat.
Oder Sie können verwenden current_user_can
um nach bestimmten Fähigkeiten zu suchen, wenn Sie nur überprüfen möchten, ob ein Benutzer eine bestimmte Berechtigung hat oder nicht, oder ob er in der Rolle ist oder nicht. Zum Beispiel:
if (current_user_can('delete_posts')) {
//display the delete posts button.
}
-
Groß! Das ist genau das, wonach ich suche! 🙂 Vielen Dank! Übrigens, welchen Hook muss ich für diesen Code verwenden?
– Giljed Jowes
17. August 2010 um 5:51 Uhr
-
Beachten Sie, dass der WP-Codex heutzutage besagt: „Übergeben Sie keinen Rollennamen an
current_user_can()
da dies nicht garantiert korrekt funktioniert”.– Robert
1. März 2014 um 17:23 Uhr
-
Es fehlt nur das am Ende: if (in_array(‘super_admin’,$roles)) {echo ‘foobar’;}
– ejntaylor
13. Juni 2014 um 11:01 Uhr
venkata sandeep
Dieser Code wird Ihnen helfen
<?php echo array_shift(wp_get_current_user()->roles); ?>
-
Können Sie bitte erklären, wie es das Problem lösen würde?
– Phani
1. Februar 2016 um 13:47 Uhr