La semaine dernière, WPBeginner a publié Rôle de modération des commentaires dans le répertoire des plugins WordPress. Le plugin fait un travail simple en créant un rôle d’utilisateur unique qui ne peut modérer que les commentaires.

Le cas d’utilisation le plus courant pour un tel rôle – nommé “Modérateur de commentaires WPB” dans l’administrateur – est destiné aux grandes équipes qui ont besoin d’un compte d’utilisateur distinct pour s’attaquer à la modération. WordPress n’a aucun moyen intégré de gérer cela. Pour l’un des CMS les plus extensibles de la planète, c’est un domaine où il a toujours échoué.

C’est presque comme si c’était hier. En réalité, c’était Il ya 10 ans quand je suis tombé sur un (alors) an ticket pour un bug c’était un point de rupture dans un projet sur lequel je travaillais. J’avais besoin d’accorder à des utilisateurs spécifiques sur un site WordPress l’autorisation de modérer les commentaires, mais pas de leur permettre de modifier d’autres choses dans l’administrateur.

Certains d’entre vous pensent peut-être que le moderate_comments la capacité devrait le permettre. Et vous auriez raison de penser qu’il devrait. Cependant, ce n’est pas du tout comme ça que ça marche. Pour que les utilisateurs puissent modifier les commentaires, ils doivent également être en mesure de modifier les publications. C’est un peu un gâchis compliqué si vous plongez profondément dans le code de base uniquement pour trouver des vérifications d’autorisations codées en dur qu’il est impossible de remplacer sans réécrire de gros morceaux de code.

J’ai rencontré le même problème plusieurs fois au cours des années qui ont suivi. J’ai construit quelques solutions de contournement uniques pour des projets spécifiques, mais elles n’ont jamais été idéales. Et, je n’ai jamais été intéressé par le maintien d’un plugin qui résolvait ce problème parce que je savais que cela pouvait être un peu pénible.

Bien que j’aie vu quelques autres solutions, chacune fondamentalement défectueuse, je suis heureux de voir quelqu’un s’attaquer à ce problème sans exposer les problèmes d’autorisations.

Le plugin Comment Moderation Role de WPBeginner fonctionne de la même manière que je pense qu’un tel plugin devrait fonctionner, du moins avec les obstacles que WordPress met actuellement sur le chemin.

Les administrateurs du site peuvent ajouter WPB Comment Moderator à n’importe quel compte via l’écran d’administration de la gestion des utilisateurs. Le processus est le même que l’ajout ou la suppression de tout autre rôle dans WordPress.

Capture d'écran de l'écran de gestion des utilisateurs WordPress, attribuant un rôle à un utilisateur.
Attribution du rôle de modérateur de commentaires WPB à un utilisateur.

Après avoir ajouté le rôle à un utilisateur, cet utilisateur peut accéder à l’écran d’administration Commentaires. Ils peuvent également voir à la fois le tableau de bord et leur propre profil dans l’administrateur. Sauf dans les cas où ils ont un autre rôle ajouté via un plugin différent, ils n’auront pas la permission d’accéder aux autres écrans.

Écran de gestion des commentaires lorsqu'il est affiché en tant qu'utilisateur avec le rôle de modérateur de commentaires WPB.
Écran d’administration des commentaires pour l’utilisateur avec le rôle de modérateur de commentaires WPB

En raison de la vérification des autorisations codées en dur de WordPress, le plugin doit créer son propre écran de gestion des commentaires. La plupart des utilisateurs ne le remarqueront pas car tout est sous le capot. Le plugin ne l’ajoute que lorsque cela est nécessaire, et il n’a pas l’air ou ne fonctionne pas différemment de l’écran par défaut. C’est juste beaucoup de travail de code et de duplication pour corriger un bug signalé il y a 11 ans dans WordPress.

Jusqu’à ce que le problème fondamental soit résolu dans le cœur de WordPress, le rôle de modération des commentaires est le meilleur plugin pour ce travail. Après des tests approfondis, je peux maintenant dire qu’il est maintenant fermement niché dans ma boîte à outils, prêt à être retiré en cas de besoin pour un projet.


Source link