web-dev-qa-db-fra.com

Pourquoi les auteurs sont-ils autorisés à approuver des commentaires sur leurs publications? Comment révoquer un privilège?

J'avais l'impression que seuls les rôles d'administrateur/d'éditeur peuvent approuver des commentaires, mais nos auteurs sont également en mesure de le faire sur leurs propres posts. Je souhaite désactiver la possibilité pour un auteur d'approuver des commentaires sur ses publications.

Sous Paramètres du tableau de bord> Discussions> Avant qu'un commentaire apparaisse-- Sélectionné: le commentaire doit être approuvé manuellement.
Unselected: l'auteur du commentaire doit avoir un commentaire préalablement approuvé

1
Commandrea

La possibilité de définir le statut d'un commentaire est liée à la fonctionnalité "edit_comment", qui est une méta-fonctionnalité dans WordPress. Il correspond à la fonctionnalité "edit_post", qui est une autre méta-capacité qui varie selon qu'un article est publié ou non.

En fin de compte, si un article est publié, edit_comment finit par correspondre à "edit_published_posts" pour post_author ou à "edit_others_posts" pour les personnes qui ne sont pas l'auteur de l'article. Cela signifie que oui, les personnes marquées comme auteur ont la capacité de modérer les commentaires de leurs propres messages, mais pas dans tous les domaines, contrairement aux personnes ayant la capacité de "commentaires modérés".

Comme c'est codé en dur (comme toutes les méta-majuscules), vous auriez besoin d'ajouter un filtre supplémentaire pour le désactiver. Ce n'est pas quelque chose que vous pouvez ajuster avec un plugin de gestionnaire de rôles.

Un moyen plus simple serait de faire de ces personnes non des auteurs, mais des contributeurs. Les auteurs ayant déjà la possibilité de "publier_posts" et d'ajouter du contenu au site sans approbation supplémentaire, ils sont censés être des utilisateurs de confiance dans le sens où ils peuvent ajouter du contenu et donc approuver des commentaires.

Une autre solution consisterait à supprimer les "edit_published_posts" de l'auteur, mais cela les empêcherait également de modifier le contenu une fois qu'il a été publié. Encore une fois, cela a du sens, s’ils ne peuvent pas faire confiance aux commentaires, ils ne devraient pas non plus être autorisés à modifier le contenu déjà publié.

Tout dépend vraiment de la confiance et de ce que vous voulez permettre aux gens de faire. Le système est cohérent tel qu'il est actuellement, en termes de sécurité.

2
Otto

Vous pouvez supprimer entièrement la capacité du rôle. Si vous pouvez remplacer le PUT_ROLE_HERE par votre rôle:

$edit_role = get_role(PUT_ROLE_HERE);
$edit_role->remove_capability('moderate_comments');

Comme @SierraTR le dit, seuls les administrateurs et l'éditeur ont accès aux commentaires modérés, à moins que vous n'ayez une sorte de plug-in de rôle.

0
Howdy_McGee

Selon le Codex: Roles_and_Capabilities , les rôles d’administrateur et d’éditeur ont tous deux la capacité de gérer les commentaires.

Au bas de cette page du Codex, sous Ressources, vous trouverez quelques plugins permettant de modifier facilement les fonctionnalités des rôles d'utilisateur (autres que l'administrateur), ainsi que des références aux fonctions que vous pouvez utiliser pour modifier les fonctionnalités d'un rôle spécifique.

0
SierraTR