Créer un simple CRM dans WordPress Restreindre / Cacher des éléments de menu

Nous avons cherché à créer un système CRM simple dans WordPress. Dans la dernière partie de cette série, nous avons ajouté du code à notre plug-in, ce qui nous a permis de rechercher nos contacts en fonction des données stockées dans Advanced Custom Fields..

Aujourd'hui, nous verrons comment limiter l'accès aux éléments du menu d'administration de WordPress..

Rôles et Capacités

WordPress utilise le concept de rôles, selon lequel un rôle peut être attribué à un utilisateur de WordPress. Ce rôle définit ce que l'utilisateur peut et ne peut pas faire..

Par défaut, WordPress a six rôles:

  • Super admin
  • Administrateur
  • Éditeur
  • Auteur
  • Donateur
  • Abonné

Les autorisations d’un rôle sont appelées capacités et WordPress fournit de nombreuses fonctionnalités différentes (par exemple,, install_plugins, update_themes, edit_pages, etc). Si vous souhaitez voir la liste complète des fonctionnalités basées sur le rôle, consultez cette page Codex WordPress..

Lorsque nous avons enregistré notre type de message personnalisé dans la partie 1 de cette série, nous avons défini le type de capacité être poster. Cela signifie que les capacités de lecture, de modification et de suppression des contacts sont les mêmes que celles utilisées pour les publications. Selon le rôle de l'utilisateur, cela donne à l'utilisateur l'accès suivant à notre type de publication personnalisée de contacts:

Aptitude Super admin Administrateur Éditeur Auteur Donateur Abonné
edit_others_posts Oui Oui Oui      
delete_others_posts Oui Oui Oui      
delete_private_posts Oui Oui Oui      
edit_private_posts Oui Oui Oui      
read_private_posts Oui Oui Oui      
edit_published_posts Oui Oui Oui Oui    
publier_posts Oui Oui Oui Oui    
delete_published_posts Oui Oui Oui Oui    
edit_posts Oui Oui Oui Oui Oui  
delete_posts Oui Oui Oui Oui Oui  

Editeurs et Auteurs

Sur la base des fonctionnalités ci-dessus, si nous souhaitons que les utilisateurs puissent ajouter, modifier et supprimer tous les contacts (y compris les contacts créés par d'autres utilisateurs), nous devons utiliser le rôle Editeur. Continuons et créons un nouvel utilisateur WordPress avec ce rôle:

  1. Aller vers Utilisateurs> Ajouter un nouveau dans le menu d'administration de WordPress.
  2. Remplissez les champs nom d'utilisateur, email et mot de passe.
  3. Met le Rôle de l'utilisateur à Éditeur.
  4. Cliquez sur Ajouter un nouvel utilisateur.

Maintenant, déconnectons-nous de WordPress et connectons-nous en tant que notre nouvel éditeur. Vous verrez que le menu d'administration de WordPress comporte moins d'options et inclut notre type de message personnalisé dans Contacts:

Toutefois, vous souhaiterez peut-être uniquement que les utilisateurs puissent afficher les contacts d'autres utilisateurs sans pouvoir les modifier ou les supprimer. Nous pouvons y parvenir en utilisant le rôle Auteur, car ce rôle n’a pas edit_others_posts ou delete_others_posts Capacités (voir le tableau ci-dessus).

Créez votre utilisateur WordPress de la même manière que nous l'avons fait pour un éditeur, en choisissant cette fois le rôle Auteur..

Si vous vous connectez en tant qu'auteur, les options du menu d'administration de WordPress seront moins nombreuses:

Lorsque nous visualisons nos contacts, vous verrez tous les autres contacts créés par d'autres utilisateurs de WordPress. Cependant, nous ne pouvons pas les modifier ni les supprimer:

Allez-y et ajoutez un nouveau contact. Une fois cela fait, cliquez sur Tous les contacts dans le menu d'administration de WordPress. Au lieu de voir tous les contacts créés par d'autres utilisateurs de WordPress, vous verrez maintenant les contacts que vous avez créés, que vous pouvez modifier et supprimer:

Nous pouvons toujours voir les contacts des autres utilisateurs en cliquant sur le bouton Tout option au dessus de la table WordPress:

Suivant…

Dans le prochain article, nous allons limiter davantage la fonctionnalité d’administration de WordPress aux utilisateurs sélectionnés, leur permettant d’accéder uniquement à Contacts CRM..