Такой функции нет в классе WP_User. Но класс поддерживает свойство roles, которое содержит набор ролей в виде массива. Т.е. нам достаточно убедиться, что нужная роль находится в этом массиве.
Чтобы не программировать совсем уж банальные вещи, расширим всеядность функции — добавим полиморфизма относительно входных данных.
Пользователь может быть не передан (null), либо задан как ID (int) или экземпляр класса WP_User.
|
|
function user_has_role($user = null, $role) { if (is_null($user)) { $user = wp_get_current_user(); } elseif (is_numeric($user)) { $user = get_user_by<span class="simbol">(</span><span class="string">'id'</span><span class="simbol">,</span> $user<span class="simbol">)</span><span class="simbol">;</span> } $userClassName = 'WP_User'; if (is_object($user) && $user instanceof $userClassName) { return in_array($role, (array) $user->roles); } return false; } |
Функция вернет TRUE, если пользователь содержит указанную вами роль. В любом другом случае код возвращает FALSE. Хотя в случае с неверным типом объекта, по хорошему следует «кидать» исключение.
Данная запись опубликована в 07.07.2017 17:31 и размещена в рубрике wordpress.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 28, 2017 г.
При добавлении картинки в публикацию, WP формирует html код с абсолютным путем. Т.е. мы получаем полный адрес: протокол, домен, путь на сайте и имя файла. Как сделать, чтобы WP подставлял относительные пути, т.е. опускал протокол и домен?
Настраиваем ...
Читать
Октябрь 9, 2015 г.
Что такое footer wordpress и как его отредактировать.
Шаблон страницы в wordpress собирается, как правило, из нескольких файлов-шаблонов. Хотя это и не обязательно. Сначала wordpress определяет файл основного шаблона, который выбирается в соответствии ...
Читать
Ноябрь 18, 2017 г.
При создании собственного типа публикации в Wordpress, вы получите ЧПУ, содержащий в самом начале название этого типа материала. Можно ли избавиться от этого?
К примеру, вы зарегистрировали тип публикации portfolio:
[crayon-6af9e8fdccefd528224256/] ...
Читать
Ноябрь 26, 2015 г.
Если вы вместо вашего сайта на wordpress увидели данную надпись
Error establishing a database connection
This either means that the username and password information in your wp-config.php file is incorrect or we can't contact the database server ...
Читать