Такой функции нет в классе 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июль 8, 2018 г.
Очередное обновление WP плагина Genzel Breadcrumbs. Версия 1.2. Что нового?
Переработана логика "монтирования"
Монтирование позволяет задать несколько условий в части выражения "what" (что монтировать?). К примеру, можно указать что монтировать ...
Читать
Июль 4, 2019 г.
В админке woocommerce вы можете выбрать валюту и где её отображать - до или после цены. Но сам символ можно поменять только через PHP.
Для замены обозначения валюты плагин предусматривает использование специального фильтра - woocommerce_currency_symbol. ...
Читать
Март 29, 2017 г.
Взявшись за переделку собственных плагинов, я нашел время для обновления ещё одной своей древней поделки. Это был первый плагин, который я вообще делал для WP. Я собирал его только лишь с учебными целями - хотел сделать какой-то плагин и разместить его ...
Читать
Январь 17, 2016 г.
Сегодня обновил плагин для кеширования сайтов на WP. Добавлена всего одна строка кода, но это весьма важное обновление.
Почти с самого начала в плагине присутствует код для поддержания "в порядке" базы данных. Есть специальная функция, которая ...
Читать