grant_super_admin()
Устанавливает указанному пользователю права супер администратора.
«Супер-администратор» - это не отдельная роль как Редактор, Администратор, а просто набор прав расширяющих возможности текущей роли.
Если у пользователя была роль ниже «Администратор», например «Редактор», то после установки ему прав супер-админа, он получит возможность управлять всем.
Эта функция добавляет логин пользователя в опцию site_admins в таблице wp_sitemeta:
$super_admins = get_site_option( 'site_admins' );
Супер-админа также можно указать в глобальной переменной $super_admins. Если она установлена, то она имеет приоритет над опцией site_admins и эта функция становится нерабочей, а все управление супер-админами переходит в глоб. опцию $super_admins
Используйте функцию revoke_super_admin(), чтобы отменить действие этой функции (удалить права супер-админа у указанного пользователя).
Также смотрите WP-CLI команды связанные с супер-админом: wp super-admin.
Хуки из функции
Возвращает
true|false.
true- Удалось сделать из пользователя супер-админа.false- Не удалось сделать из пользователя супер-админа.
Или если указанный пользователь уже супер-админ.
Или если установлена глобальная переменная $super_admins.
Использование
grant_super_admin( $user_id );
- $user_id(число) (обязательный)
- ID пользователя, которому нужно дать права супер-админа.
Примеры
#1 Дадим права супер-админа пользователя с ID 5
Рекомендуется вызывать функцию всего один раз, а не при каждой генерации страницы. Потому что она меняет значение опции.
grant_super_admin( 5 );
#2 Установим права супер-админа и удалим их при активации/деактиванции плагина
// дадим права
register_activation_hook( __FILE__, 'myplugin_activate' );
function myplugin_activate() {
grant_super_admin( 5 );
}
// отберем права
register_deactivation_hook( __FILE__, 'myplugin_deactivate' );
function myplugin_deactivate(){
revoke_super_admin( 5 );
}
Заметки
- Global. Массив.
$super_admins
Список изменений
| С версии 3.0.0 | Введена. |