Такой функции нет в классе 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 20, 2023 г.
С появлением Гутенберга (Gutenberg), микрошаблоны вышли на новый уровень. Посмотрим пример создания собственного микрошаблона и вставки его в шаблон.
Начать надо с регистрации сайдбара, для этого вставим в functions.php темы следующий код:
[crayon-699e1bb2d19c7925150110/] ...
Читать
Февраль 28, 2017 г.
При добавлении картинки в публикацию, WP формирует html код с абсолютным путем. Т.е. мы получаем полный адрес: протокол, домен, путь на сайте и имя файла. Как сделать, чтобы WP подставлял относительные пути, т.е. опускал протокол и домен?
Настраиваем ...
Читать
Ноябрь 22, 2020 г.
Искал как вытянуть стоимость позиций товара из заказа в woocommerce. А в итоге обнаружил неточность в документации плагина.
Если вы располагаете идентификатором заказа, который по сути является posd_id, то алгоритм получения данных о строках заказа ...
Читать
Июль 7, 2017 г.
Предыдущий вариант встраивания картинки в редактор терминов меня не устраивает в части работы диалога и того, что в базу сохраняется URL, а не ID картинки (thumbnail).
Что не так с диалогом?
Использован диалог выбора URL картинки встроенного в WP ...
Читать