Come ottenere il ruolo dell'utente attualmente connesso in wordpress?Come ottenere il ruolo dell'utente attualmente connesso in wordpress?
11
A
risposta
13
Supponendo di avere l'ID utente ($ user_id) qualcosa come questo dovrebbe funzionare:
$user = new WP_User($user_id);
if (!empty($user->roles) && is_array($user->roles)) {
foreach ($user->roles as $role)
echo $role;
}
ottenere l'ID utente dalla sessione.
7
Se non si conosce l'ID utente, questa funzione vi aiuterà a (metti nel file functions.php tema)
function get_user_role() {
global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
return $user_role;
}
E poi, nel template è possibile ottenere ruolo utente chiamando get_user_role().
Trovato here.
+0
Questo metodo non è applicabile se ho due o più ruoli aggiunti in un utente, la ragione è che restituisce solo il primo o il primo ruolo che viene aggiunto all'utente, spostato usando la funzione PHP array_shift. –
0
function get_role_by_id($id) {
if (!is_user_logged_in()) { return false; }
$oUser = get_user_by('id', $id);
$aUser = get_object_vars($oUser);
$sRole = $aUser['roles'][0];
return $sRole;
}
Grazie, questo funziona per me. – Ravi