web-dev-qa-db-fra.com

Différence entre administrateur et super administrateur dans la base de données

Je regardais la table des utilisateurs et j'ai remarqué un super administrateur (avoir accès au panneau d'administration réseau) et un administrateur d'un site réseau ont le même wp_capabilities qui est a:1:{s:13:"administrator";b:1;} et le wp_user_level est également 10 pour les deux.

Donc, je me demandais quelle est la valeur de la base de données qui fait la différence entre un super administrateur et un administrateur? Je ne vois plus d’usermeta se rapportant au niveau d’administrateur réseau.

Quelle est la bonne façon d’attribuer une capacité de super administrateur à un administrateur via:

  1. Base de données Modifier.
  2. Via code.
3
Sisir

Les administrateurs de site sont stockés dans une option de site sous la forme d'un tableau de noms d'utilisateurs.

Par exemple, en utilisant SQL dans MySQLWorkbench, vous pouvez faire une requête comme celle-ci:

SELECT * FROM wp_sitemeta where meta_key='site_admins';

Pour récupérer un tableau PHP sérialisé. La modification de cette valeur en ajoutant votre nom d'utilisateur et votre identifiant d'utilisateur fera de vous un administrateur du site.

Si vous souhaitez simplement savoir qui est un administrateur de site, vous avez les fonctions suivantes:

get_site_admins();
is_super_admin();

S'il se trouve sur un seul site plutôt que sur un multisite, tout utilisateur doté de la fonctionnalité delete_users sera considéré comme un super administrateur.

4
Tom J Nowell

J'ai vérifié la base de données MultiSite et trouvé deux entrées suivantes dans la table wp_sitemeta qui différencient un super administrateur et un administrateur.

admin_user_id et site_admins

0
Vinod Dalvi