Jak uzyskać rolę aktualnie zalogowany użytkownika w wordpress?Jak uzyskać rolę aktualnie zalogowany użytkownika w wordpress?
11
A
Odpowiedz
13
Zakładając, masz identyfikator użytkownika ($ user_id) coś jak to powinno działać:
$user = new WP_User($user_id);
if (!empty($user->roles) && is_array($user->roles)) {
foreach ($user->roles as $role)
echo $role;
}
Uzyskaj identyfikator użytkownika z sesji.
7
Jeśli nie znasz identyfikator użytkownika, funkcja ta pozwoli Ci (umieścić go w pliku functions.php Theme)
function get_user_role() {
global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
return $user_role;
}
A potem, w szablonie można dostać rolę użytkownika poprzez wywołanie get_user_role().
Znaleziono here.
+0
Ta metoda nie ma zastosowania, jeśli mam dwie lub więcej ról dodanych w użytkowniku, powodem jest to, że zwraca on tylko jedną lub pierwszą rolę, która jest dodawana do użytkownika, przesuniętą przy użyciu funkcji 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;
}
Dzięki, to działa dla mnie. – Ravi