Разница между администратором и суперадминистратором в базе данных
Я смотрел таблицу пользователей и заметил, что у суперадминистратора (имеющего доступ к панели управления сетью) и администратора отдельного сайта в сети одинаковые значения wp_capabilities
— a:1:{s:13:"administrator";b:1;}
, а также одинаковый wp_user_level
равный 10
.
Поэтому мне интересно: какое значение в базе данных отличает суперадминистратора от обычного администратора? Я не вижу дополнительных метаданных пользователя, связанных с уровнем администратора сети.
Как правильно назначить права суперадминистратора администратору:
- Через редактирование базы данных.
- С помощью кода.

Администратор — это пользователь текущего сайта с ролью администратора.
Однако суперадминистраторы/администраторы сайтов хранятся в настройках сайта как массив имен пользователей.
Например, используя SQL в MySQLWorkbench, вы можете выполнить такой запрос:
SELECT * FROM wp_sitemeta where meta_key='site_admins';
Чтобы получить сериализованный массив PHP. Изменение этого значения путем добавления вашего имени пользователя и идентификатора сделает вас администратором сайта.
Если вам просто нужно узнать, кто является администратором сайта, используйте эти функции:
get_site_admins();
is_super_admin();
Если это одиночный сайт, а не мультисайт, любой пользователь с возможностью delete_users будет считаться суперадминистратором.
Обратите внимание, что пользователь, являющийся администратором сайта/суперадминистратором, не обязательно должен иметь роль на сайте для выполнения административных действий. Это может привести к неожиданностям, поскольку суперадминистратор может написать пост в блоге, частью которого он технически не является, что может сбивать с толку, когда он не отображается в списке пользователей этого блога, так как у него нет роли в этом блоге.
