web-dev-qa-db-fra.com

Où sont les rôles disponibles définis dans la base de données wp_?

Je suis sur la liste pour tester une version bêta privée d'un plugin que j'utilise sur un réseau multisite.

Les auteurs du plugin ont du code pour ajouter un rôle personnalisé. Ils ont un bogue qui empêche de donner à un utilisateur n'importe quel rôle, à l'exception de son rôle personnalisé.

Lorsque je visite ../wp-admin/network/site-users.php, les déroulants de rôles "Ajouter un utilisateur" affichent uniquement le rôle ajouté par ce plugin. Le menu déroulant Modifier le rôle affiche tous les WP rôles par défaut, ainsi que quelques rôles supplémentaires ajoutés par celui-ci et d'autres plug-ins. Si je tente de remplacer un utilisateur par l'un de ces rôles, la page d'erreur "Vous ne pouvez pas attribuer ce rôle à des utilisateurs" s'affiche.

J'ai discuté de cela avec le développeur, et ils semblent déconcertés.

J'ai consulté ma base de données et le codex et je ne trouve pas où sont définis les rôles valides.

11
cpilko

Les rôles d'utilisateur sont stockés dans la table wp_options.

recherchez le nom d'option wp_user_roles dans la table wp_options.

23
Giri

Les rôles d'utilisateur sont stockés dans la table wp_user_meta

Pour vérifier les rôles des utilisateurs, commencez par vérifier l'ID utilisateur dans la table wp_users (ID du nom de la colonne).

Maintenant, allez à la table wp_usermeta et recherchez où la colonne user_id est égale à l'ID correspondant à la table ID de la table wp_users.

Vous obtiendrez une liste de lignes avec les métadonnées de l'utilisateur choisi. La ligne avec meta_key en tant que wp_capabilities définit le rôle de l'utilisateur.

La valeur de wp_capabilities pour

  • Admin: a:1:{s:13:"administrator";b:1;}
  • Client Woo Commerce: a:1:{s:8:"customer";b:1;}
9
Ashutosh Kumar