Implémentation du contrôle des rôles et des autorisations dans WordPress
1. Configuration des rôles et autorisations du système WordPress
Cette configuration est stockée dans la table wp_options.
Il peut être obtenu des manières suivantes :
$roles= nouveau WP_Roles();
ou
get_option(wp_user_roles);
2. rôle et casquette
Le rôle est le rôle et le plafond est la capacité.
Un personnage a plusieurs capacités. Lorsqu'un utilisateur devient ce rôle, la configuration du rôle et les capacités correspondantes seront écrites dans les métadonnées de l'utilisateur (table wp_usermetas).
Il y aura des données pertinentes dans l'objet Utilisateur.
Utilisez $user->roles pour obtenir des données de rôle pertinentes.
Utilisez $user->allcaps pour obtenir les fonctionnalités associées.
3. Trois fonctions
set_role()
La définition du rôle de l'utilisateur supprimera tous les rôles précédents de l'utilisateur et définira un nouveau rôle.
supprimer_role()
Deux utilisations :
remove_role(role1) : indique la suppression du rôle1 de la configuration du rôle système (wp_option).
$user->remove_role(role1) : indique que role1 est supprimé de tous les rôles de l'utilisateur.
ajouter_role()
Il existe également deux utilisations.
add_role(role1) : indique l'ajout de role1 à la configuration du rôle système (wp_option).
$user->add_role(role1) : signifie ajouter le rôle role1 à l'utilisateur, mais cela n'affectera pas les rôles existants de l'utilisateur.
4. Autorité de jugement
En jugeant le rôle de l'utilisateur
Atteint grâce à la capacité de jugement
5. Meilleures pratiques pour les systèmes de rôles de plug-in
Vous pouvez vous référer à bbpress.
WordPress a des rôles existants en tant que « famille de rôles ».
Branchez votre propre personnage en tant qu'autre "famille de personnages".
Chaque utilisateur ne peut avoir qu'une seule série de caractères.
La mise en œuvre du système de rôles du plug-in (stockage, configuration, jugement des autorisations) est la même que celle de WordPress.