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


10

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 contiennent du code pour ajouter un rôle personnalisé. Ils ont un bogue qui supprime la possibilité de donner à un utilisateur n'importe quel rôle, sauf leur seul rôle personnalisé.

Lors de ma visite ../wp-admin/network/site-users.php, le menu déroulant "Ajouter un utilisateur" affiche uniquement le rôle ajouté par ce plugin. Le menu déroulant de changement de rôle affiche tous les rôles par défaut de WP, ainsi que quelques rôles supplémentaires ajoutés par d'autres plugins. Si j'essaye de changer un utilisateur en un de ces rôles, j'obtiens une page d'erreur "Vous ne pouvez pas donner aux utilisateurs ce rôle".

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

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

Réponses:


27

Les rôles utilisateur sont stockés dans une wp_optionstable.

recherchez le nom wp_user_rolesde l' option dans le wp_optionstableau.


12

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

Pour vérifier les rôles d'utilisateur, vérifiez d'abord l'ID utilisateur dans le tableau wp_users(ID du nom de colonne)

Maintenant, allez à la table wp_usermetaet recherchez où la colonne user_idest égale à l'ID qui correspond IDà la wp_userstable.

Vous obtiendrez une liste de lignes avec les métadonnées de l'utilisateur choisi, la ligne avec meta_keyas wp_capabilitiesdéfinit le rôle de l'utilisateur.

La valeur de wp_capabilitiespour

  • Administrateur: a:1:{s:13:"administrator";b:1;}
  • Client Woo Commerce: a:1:{s:8:"customer";b:1;}

Votre réponse concerne l' attribution d'un rôle à un utilisateur. L'OP posait des questions sur les définitions de rôle elles-mêmes, qui sont stockées dans wp_options.
Brett Donald
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.