Изменить Администратор на Супер Администратор (мультисайт)

Вопрос или проблема

Кто-нибудь может помочь мне, как изменить Администратора на Супер Администратора на мультисайте?

Существует несколько способов сделать это. Один из них – изменить значения в базе данных напрямую (объяснение здесь). Однако это может привести к ошибкам, поэтому я не предпочитаю этот способ.


Другой метод – использовать 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. Идентификатор пользователя является уникальным числом, ассоциированным с учетной записью.

Применение:

  1. Найдите ID пользователя, которому хотите предоставить права супер-администратора. Это можно сделать через админ-панель WordPress или с помощью специальных плагинов. Для простого поиска ID пользователя вы можете использовать различные методы, описанные, например, здесь.

  2. Откройте файл functions.php активной темы вашего сайта. Имейте в виду, что это временная мера, и изменение в этом файле необходимо будет удалить после выполнения кода.

  3. Добавьте следующую строку кода внутри одного из существующих хуков, например after_setup_theme в функции twentyseventeen_setup(), если вы используете тему TwentySeventeen:

    add_action('after_setup_theme', function() {
       grant_super_admin(n);
    });
  4. Сохраните изменения и загрузите обновленный файл на ваш сайт.

  5. Посетите ваш сайт, чтобы код выполнился. После успешного выполнения проверьте, был ли пользователь добавлен в списки супер-администраторов вашей мультисайтовой сети.

  6. После подтверждения изменения удалите добавленный код из файла functions.php, чтобы предотвратить его повторное выполнение.

Таким образом, использование функции grant_super_admin() предоставляет структурированный и безопасный способ управления правами доступа в вашей мультисайтовой сети WordPress.

Оцените материал
Добавить комментарий

Капча загружается...