Как проверить роль пользователя в вордпресс?
Решено
Я создал произвольных ролей для пользователей. Это было сделано для разграничения доступа пользователей к определенным страница. Появилась проблема как проверять эти роли, я нашел только функцию проверки прав пользователя (current_user_can() ) но она работает не корректно для ролей. Подскажите как можно проверить есть ли роль у пользователя вордпресс?
1 Ответ(ы)
Ответ
Функция проверка наличия роли
/** * Проверяет роль определенного пользователя. * Возвращает true при совпадении. * * @param строка $role Название роли. * @param логический $user_id (не обязательный) ID пользователя, роль которого нужно проверить. * @return bool */ function is_user_role($role, $user_id = null) { $user = is_numeric($user_id) ? get_userdata($user_id) : wp_get_current_user(); if (!$user) return false; return in_array($role, (array) $user->roles); }
Пример использования
$user = wp_get_current_user(); if (is_user_role('role_name', $user->ID)) { echo "У вас есть доступ"; } else { echo "У вас нет доступа"; }
role_name — название роли