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 );
update_site_option()
Хуки з функції
Повертає
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 | Введено. |