Такой функции нет в классе 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 25, 2020 г.
Для blitzpet.ru занимался подключением платежной системы payler к woocommerce на WP. Обычно в таких случаях используются готовые "фирменные" плагины, разработанные dev team платежной системы для большинства популярных CMS. Но support со стороны payler ...
Читать
Октябрь 30, 2015 г.
На днях собрал модуль для подключения счетчиков на сайт под WP. Он позволяет добавить код Метрики Яши и Аналитики Гоши. Сегодня я его уже записал в репозиторий wordpress.org.
Он решает задачу по размещению кода счетчика на страницах сайта, но не ...
Читать
Ноябрь 22, 2020 г.
Искал как вытянуть стоимость позиций товара из заказа в woocommerce. А в итоге обнаружил неточность в документации плагина.
Если вы располагаете идентификатором заказа, который по сути является posd_id, то алгоритм получения данных о строках заказа ...
Читать
Февраль 18, 2023 г.
Отдельной переменной, а-ля DB_PORT, для выбора произвольного порта подключения к базе данных в Wordpress нет.
Но порт можно задать как часть константы DB_HOST, например, установим порт 10101:
[crayon-687ae39669c74290387385/]
Настройки хранятся ...
Читать