2010-08-17 5 views

Antwort

9

Ich nehme an, Sie wissen, welche Hooks von Wordpress Sie verwenden möchten. So dass ein Teil überspringen, ist es ziemlich einfach, die aktuelle Rolle des Benutzers

$current_user = wp_get_current_user(); 
if (!($current_user instanceof WP_User)) 
    return; 
$roles = $current_user->roles; //$roles is an array 

Jetzt zu erhalten, können Sie das Array iterieren zu sehen, ob der Benutzer eine bestimmte Rolle hat.

Oder Sie können current_user_can verwenden, um nach bestimmten Funktionen zu suchen, wenn Sie nur überprüfen möchten, ob ein Benutzer eine bestimmte Berechtigung hat oder nicht, ob sie in der Rolle sind oder nicht. Zum Beispiel:

if (current_user_can('delete_posts')) { 
    //display the delete posts button. 
} 
+0

Great! Das ist genau das, wonach ich suche! :) Vielen Dank! Übrigens, welchen Haken muss ich für diesen Code verwenden? –

+0

Ich würde haken save_post – villecoder

+0

Beachten Sie die WP-Codex heute besagt: "Übergeben Sie keinen Rollennamen zu' current_user_can() ', da dies nicht garantiert, um ordnungsgemäß zu funktionieren". – Robbert

0

Dieser Code wird Ihnen helfen,

<?php echo array_shift(wp_get_current_user()->roles); ?> 
+0

Können Sie bitte expalin wie es das Problem lösen würde? – Phani

Verwandte Themen