Вопрос или проблема
Кто-нибудь может помочь мне, как изменить Администратора на Супер Администратора на мультисайте?
Существует несколько способов сделать это. Один из них – изменить значения в базе данных напрямую (объяснение здесь). Однако это может привести к ошибкам, поэтому я не предпочитаю этот способ.
Другой метод – использовать grant_super_admin()
с ID пользователя. ID администратора по умолчанию равен 1, и существуют различные методы для нахождения ID других пользователей.
Предположим, что ID пользователя, которого вы хотите сделать супер админом, равен n
. Этот код нужно запустить (как минимум) один раз. Один из самых простых способов убедиться в этом – скачать файл functions.php активной темы.
Вы можете просто добавить его в начало файла, и он, вероятно, сработает. Но безопаснее выполнять код внутри хуков. В теме TwentySeventeen это может быть метод twentyseventeen_setup()
. Просто добавьте эту строку
grant_super_admin(n);
Теперь посетите сайт и убедитесь, что это сработало. Затем вы можете безопасно удалить этот код.
Ответ или решение
Для изменения статуса пользователя с администратора на супер-администратора в мультисайтовой сети WordPress существует несколько методов. Как вы уже отметили, изменение значений напрямую в базе данных можно использовать, но это сопряжено с рисками внесения ошибок в систему и влечет за собой необходимость высокой точности при выполнении изменений.
Лучшим решением будет использование функции WordPress grant_super_admin()
. Она позволяет программным способом присвоить статус супер-администратора, что является более безопасным и эффективным методом по сравнению с изменением настроек базы данных. Давайте рассмотрим, как это можно реализовать на практике:
Теория:
Функция grant_super_admin()
принимает один параметр — ID пользователя, которому необходимо предоставить права супер-администратора. В мультисайтовой сети супер-администраторы имеют расширенные привилегии, которые позволяют выполнять задачи управления на уровне всей сети сайтов, а не только на одном из них.
Пример:
Предположим, что вам нужно предоставить права супер-администратора пользователю с ID n
. Идентификатор пользователя является уникальным числом, ассоциированным с учетной записью.
Применение:
-
Найдите ID пользователя, которому хотите предоставить права супер-администратора. Это можно сделать через админ-панель WordPress или с помощью специальных плагинов. Для простого поиска ID пользователя вы можете использовать различные методы, описанные, например, здесь.
-
Откройте файл
functions.php
активной темы вашего сайта. Имейте в виду, что это временная мера, и изменение в этом файле необходимо будет удалить после выполнения кода. -
Добавьте следующую строку кода внутри одного из существующих хуков, например
after_setup_theme
в функцииtwentyseventeen_setup()
, если вы используете тему TwentySeventeen:add_action('after_setup_theme', function() { grant_super_admin(n); });
-
Сохраните изменения и загрузите обновленный файл на ваш сайт.
-
Посетите ваш сайт, чтобы код выполнился. После успешного выполнения проверьте, был ли пользователь добавлен в списки супер-администраторов вашей мультисайтовой сети.
-
После подтверждения изменения удалите добавленный код из файла
functions.php
, чтобы предотвратить его повторное выполнение.
Таким образом, использование функции grant_super_admin()
предоставляет структурированный и безопасный способ управления правами доступа в вашей мультисайтовой сети WordPress.