Если администратор авторизован
2 авг. 2013 г., 19:46:29
Просмотры: 43K
Голосов: 12
Мы знаем, что is_admin()
проверяет, принадлежит ли текущий URL к ПАНЕЛИ УПРАВЛЕНИЯ (НО она НЕ проверяет, является ли пользователь АДМИНИСТРАТОРОМ).
Поэтому я использую эту функцию для определения, авторизован ли администратор в WordPress:
function is_admin_user(){
require_once(ABSPATH.'wp-includes/pluggable.php'); return current_user_can('create_users'); //или 'manage_options'
}
однако, это не идеальное решение. Существует ли встроенная функция, наподобие wp_is_administrator()
?

T.Todua
5.85K
Комментарии
Все ответы на вопрос
2
0
current_user_can
принимает имя роли, но, к сожалению, поведение с ролями не совсем последовательно.
Следующий код должен работать и немного проще того, что у вас есть.
$current_user = wp_get_current_user();
if (user_can( $current_user, 'administrator' )) {
// пользователь является администратором
}

s_ha_dum
65.5K
2 авг. 2013 г. 21:41:36
0
Кажется, что самым простым способом действительно будет использование current_user_can следующим образом:
if( current_user_can( 'administrator' ) ){} // только для администратора
Похоже, это дубликат.

Adal
287
13 февр. 2019 г. 22:16:37
Похожие вопросы