Comment créer un rôle d'utilisateur personnalisé dans WordPress
Publié: 2021-02-06Lors de la création d'un site Web avec un CMS, la flexibilité est toujours la bienvenue. Heureusement, WordPress a plus que sa part, avec des thèmes et des plugins qui nous permettent de créer une expérience hautement personnalisée.
Mais sa flexibilité va au-delà des éléments supplémentaires que nous pouvons installer. Il est en fait intégré au cœur du logiciel.
La possibilité de créer des rôles d'utilisateur personnalisés en est un brillant exemple. Aujourd'hui, nous allons examiner ce qu'ils sont, pourquoi vous voudriez les utiliser et quelques techniques différentes pour les créer.
Contrôle fin des autorisations des utilisateurs
Dans chaque installation WordPress, vous avez déjà accès à une sélection de rôles d'utilisateur par défaut. Ils nous permettent de désigner ce que les utilisateurs peuvent et ne peuvent pas faire dans le back-end (aka Dashboard) du site Web.
Cela est parfaitement logique. Tous ceux qui gèrent du contenu n'ont pas besoin d'avoir des privilèges d'administration. Par conséquent, nous pouvons attribuer à chaque utilisateur un rôle en fonction des besoins. C'est une excellente mesure de sécurité et peut mieux vous protéger contre les accidents ou même contre l'installation excessive de plugins par quelqu'un.
Cela fonctionne également sur le front-end. Si vous souhaitez que seuls les utilisateurs connectés voient un contenu spécifique, vous pouvez intégrer cette fonctionnalité dans votre thème ou l'ajouter via un plugin d'adhésion.
Mais bien que les rôles d'utilisateur par défaut (administrateur, éditeur, auteur, contributeur et abonné) soient utiles, il y a des moments où vous avez besoin de ce peu de contrôle supplémentaire. C'est pourquoi WordPress offre la possibilité de créer vos propres rôles personnalisés.
Quand utiliser un rôle personnalisé
Un rôle d'utilisateur personnalisé peut être utile dans plusieurs scénarios. Voici quelques-uns des plus courants auxquels vous pourriez être confronté :
Vous avez des utilisateurs qui gèrent différents types de contenu
Par défaut, WordPress est livré avec deux principaux types de contenu destinés au public : les publications et les pages. Mais il est facile d'en ajouter plus grâce à l'utilisation de types de publication personnalisés. Vous pouvez, par exemple, créer des types de publication pour des éléments tels que des communiqués de presse ou des membres du personnel. De plus, divers plugins peuvent également installer leurs propres types de publication.
Les grandes organisations peuvent avoir plusieurs types de contenu différents, avec des personnes spécifiques à l'esprit pour gérer chacun d'eux. Dans ce cas, un rôle d'utilisateur par défaut ne serait pas idéal, car il pourrait donner accès à l'ensemble (ou l'inverse, selon votre configuration). Un rôle personnalisé, cependant, permettrait à différents utilisateurs de ne voir que le ou les types de publication que vous leur attribuez.
Un utilisateur n'a besoin de faire qu'une seule chose
Il peut arriver qu'un utilisateur ait besoin d'un niveau d'accès unique aux fonctionnalités de votre site Web. Par exemple, disons que vous exécutez un cours en ligne. Il se peut qu'un membre de l'équipe ait besoin d'accéder à l'intégralité du cours en amont et en aval pour s'assurer qu'il fonctionne correctement et que le contenu est exact.
Si tout ce membre de l'équipe doit se concentrer sur le cours lui-même, un compte administrateur peut être exagéré. Avec un rôle d'utilisateur personnalisé, ils peuvent faire leur travail sans parcourir d'options inutiles.
Vous devez « monter de niveau » un rôle existant
Parfois, un rôle d'utilisateur WordPress existant est presque parfait. Mais peut-être y a-t-il une chose supplémentaire à laquelle un utilisateur doit accéder.
Prenez le rôle d'auteur. Par défaut, ils peuvent publier des articles, mais pas des pages. Normalement, vous devriez déplacer l'utilisateur vers Editor. Cela peut convenir dans certains cas. Cependant, il peut y avoir d'autres fonctionnalités incluses auxquelles vous ne souhaitez pas que cet utilisateur particulier accède. Ici, la création d'un rôle personnalisé peut être la meilleure option.
Comment créer un rôle d'utilisateur personnalisé
Il existe deux méthodes différentes pour créer un rôle d'utilisateur WordPress personnalisé. La première consiste à ajouter du code à un plugin personnalisé ou au fichier functions.php
de votre thème. La seconde consiste à installer l'un des nombreux plugins disponibles qui vous permettent de créer et de modifier des rôles.
La méthode que vous utilisez dépend vraiment de vos préférences personnelles. Si vous souhaitez avoir la possibilité de sélectionner et de choisir les capacités de l'utilisateur de manière visuelle, un plugin est le plus logique. Mais si vous êtes à l'aise avec le code et/ou si vous ne voulez pas que d'autres administrateurs jouent avec les paramètres, l'ajout d'un extrait peut être pour vous.
Quoi qu'il en soit, nous vous aiderons à démarrer avec quelques exemples de code et une sélection de plugins également.
Tout d'abord, il est recommandé d'étudier les différentes fonctionnalités utilisateur offertes par WordPress. Notez également que les types de publication personnalisés peuvent également avoir leurs capacités personnalisées. Cela peut être utile dans le premier exemple de scénario que nous avons mentionné ci-dessus.
Méthode #1 : Ajouter un extrait de code
Dans cet exemple, nous allons créer un rôle d'utilisateur nommé "Membre du personnel". Cela inclut toutes les fonctionnalités du rôle d'auteur, mais avec la possibilité supplémentaire de modifier et de publier des pages.
Chaque fonctionnalité que nous attribuons au rôle est répertoriée dans l'extrait de code ci-dessous et est définie sur " true ". L'exception ici est que nous ne voulons pas que les utilisateurs avec ce rôle suppriment les pages publiées, donc nous le définissons explicitement sur « false » - juste pour être sûr.
Encore une fois, ce code ira dans le fichier functions.php
de votre thème ou éventuellement dans un plugin personnalisé.
/* Create Staff Member User Role */ add_role( 'staff_member', // System name of the role. __( 'Staff Member' ), // Display name of the role. array( 'read' => true, 'delete_posts' => true, 'delete_published_posts' => true, 'edit_posts' => true, 'publish_posts' => true, 'upload_files' => true, 'edit_pages' => true, 'edit_published_pages' => true, 'publish_pages' => true, 'delete_published_pages' => false, // This user will NOT be able to delete published pages. ) );
Une fois que nous avons enregistré ce code et actualisé notre site Web dans le navigateur, nous pouvons ajouter un nouvel utilisateur avec ce rôle.
Lorsque notre utilisateur avec le rôle de membre du personnel se connecte, il peut voir les pages et les publications.
Une autre alternative serait simplement d'ajouter quelques fonctionnalités au rôle d'auteur existant. Nous pouvons le faire via la fonction add_cap()
:
/* Upgrade the Author Role */ function author_level_up() { // Retrieve the Author role. $role = get_role( 'author' ); // Let's add a set of new capabilities we want Authors to have. $role->add_cap( 'edit_pages' ); $role->add_cap( 'edit_published_pages' ); $role->add_cap( 'publish_pages' ); } add_action( 'admin_init', 'author_level_up');
Ces deux extraits de code font essentiellement la même chose. Cependant, l'ajout du nouveau rôle Membre du personnel peut être préférable dans les cas où vous avez déjà des utilisateurs avec le rôle Auteur et que vous ne voulez pas qu'ils aient des capacités supplémentaires.
Méthode 2 : Utiliser un plugin
La fonctionnalité ci-dessus peut être facilement reproduite grâce à l'utilisation d'un plugin. Plusieurs ont été créés pour ce type de gestion des rôles et des capacités des utilisateurs. Ils offrent un avantage en ce sens qu'ils utilisent une interface graphique et ajoutent une couche de commodité à l'ensemble du processus.
Jetons un coup d'œil à quelques-unes des options les plus populaires :
Éditeur de rôle d'utilisateur
Avec User Role Editor, ajouter ou supprimer des fonctionnalités pour un rôle est aussi simple que de cocher ou de décocher une case dans les paramètres. Vous avez également la possibilité de créer vos propres rôles d'utilisateur personnalisés et de définir les fonctionnalités nécessaires. Le plugin prend également en charge les installations multisites de WordPress.
Éditeur de rôle utilisateur WPFront
WPFront User Role Editor offre des fonctionnalités similaires, vous permettant d'ajouter ou de modifier des rôles d'utilisateur. Mais cela permet également aux administrateurs de migrer les utilisateurs d'un rôle à un autre et d'attribuer plusieurs rôles à des utilisateurs individuels.
Gestionnaire d'accès avancé
Si vous recherchez quelque chose avec une portée plus large, Advanced Access Manager peut être un bon choix pour vous. Il offre une gestion des rôles et des capacités, ainsi que la possibilité de contrôler l'accès aux fonctionnalités frontales et principales telles que les menus et les widgets.
Connaissez vos rôles
La possibilité de créer des rôles d'utilisateur personnalisés n'est qu'une raison de plus d'aimer WordPress. C'est quelque chose de très spécialisé, mais cela peut être extrêmement utile lorsque vous avez besoin de quelque chose qui va au-delà des rôles par défaut.
Ainsi, la prochaine fois que vous vous retrouverez dans une situation où le contrôle des capacités de l'utilisateur est nécessaire, sachez que vous avez cet outil puissant à votre disposition.