J'ai mis en place un site WordPress pour un client. Le client a le rôle d’éditeur, mais j’ai installé le plug - in Membres et lui ai donné la possibilité d’ajouter de nouveaux utilisateurs à l’administrateur WP. Cela fonctionne très bien.
La question que j'ai est que je voudrais que le client ait la possibilité de créer un nouvel utilisateur avec les rôles de contributeur, abonné, éditeur et auteur, mais PAS d'administrateur. Les nouveaux utilisateurs créés par le client ne doivent pas avoir le rôle d'administrateur. Est-il possible de cacher cette option?
Merci Vayu
Réponses:
C'est en fait assez facile. Vous devez filtrer dans
map_meta_caps
et empêcher les éditeurs de créer / éditer des administrateurs, et supprimer le rôle d'administrateur du tableau 'editable roles'. Cette classe, en tant que plugin ou dans le fichier functions.php de votre thème, le ferait:MODIFIER
Ok, j’ai donc cherché à savoir pourquoi la suppression par l’utilisateur était laissée de côté. Il semble que delete_user soit géré légèrement différemment de edit_user; J'ai modifié la méthode map_meta_cap pour résoudre ce problème. J'ai testé sur la version 3.0.3 et cela empêchera quiconque, à l'exception des administrateurs, de supprimer, éditer ou créer un administrateur.
EDIT 2
J'ai mis à jour le code pour refléter la réponse de @ bugnumber9 ci-dessous. S'il vous plaît allez donner cette réponse un vote positif!
la source
Bien qu’il ait environ 7 ans, ce fil peut facilement être cherché dans Google et constitue toujours une solution efficace. Je parle du code fourni par @John P Bloch.
Cela dit, sous PHP 7, cela produit une erreur non critique (PHP obsolète) comme suit:
Pour résoudre ce problème, remplacez simplement cette pièce:
avec ça:
Cela résoudra le problème.
la source
Je cherchais une solution où l'éditeur ne pourrait éditer que des menus ET créer / éditer des utilisateurs sans avoir besoin d'un plugin. Alors j'ai fini par le faire pour ceux qui sont intéressés.
la source
La solution de @John P Blochs fonctionne toujours bien, mais je pensais aussi ajouter mon petit filtre pour 'map_meta_cap'. Juste un peu plus court et plus propre, au moins pour mes yeux;)
la source