У меня есть довольно специфическое требование показывать другой текст в метке поля на странице профиля пользователя в зависимости от роли текущего пользователя. Я не могу понять, как проверить, является ли текущее использование "автором".
Я ищу такую функцию, как:
is_user_in_role($user, "author");
Я думаю, это довольно просто, но я слишком долго искал без ответа, поэтому подумал, что опубликую это здесь.
wp-admin
users
user-roles
jessegavin
источник
источник
Я искал способ получить роль пользователя, используя идентификатор пользователя. Вот что я придумал:
Тогда
is_user_in_role()
функция может быть реализована так:источник
Вы также можете просто создать новый объект пользователя:
Не уверен, какая версия
get_user_roles_by_user_id
была удалена, но эта функция больше недоступна.источник
Вот функция, которая принимает пользователя и роль для большей гибкости:
источник
Вызов ролей в User Object
$user->roles
не возвращает все роли. Правильный способ определить, есть ли у пользователя роль или возможность, заключается в следующем. (Это работает в wp версии 2.0.0 и выше.) Следующая функция работает с идентификатором пользователя, который можно получить с помощью текущего идентификатора пользователя.$current_user_id = get_current_user_id();
источник