grant_super_admin()
Устанавливает указанному пользователю права супер администратора.
«Супер-администратор» - это не отдельная роль как Редактор, Администратор, а просто набор прав расширяющих возможности текущей роли.
Если у пользователя была роль ниже «Администратор», например «Редактор», то после установки ему прав супер-админа, он получит возможность управлять всем.
Логины супер-администраторов хранятся в таблице wp_sitemeta в опции site_admins:
$super_admins = get_site_option( 'site_admins' );
grant_super_admin() добавляет логин указанного пользователя в эту опцию.
Супер-админа также можно указать в глобальной переменной $super_admins. Если она установлена, то она имеет приоритет над опцией site_admins и эта функцию становится нерабочей,а все управление супер-админами переходит в глоб. опцию $super_admins
Отмена прав
Чтобы отменить действие этой функции - удалить права супер админа у указанного пользователя, используйте функцию:
revoke_super_admin( $user_id );
Хуки из функции
Возвращает
true|false
. Удалось или не удалось сделать из пользователя супер-админа.
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 | Введена. |