Comment faire en sorte que les commentateurs qui enfreignent les règles de la chambre Méchant coin?
Le commentaire est une épée à double tranchant. Elles permettent aux lecteurs d’interagir, mais elles peuvent aussi être rapidement décomposées en communications de jargon public, ce qui n’a guère contribué à améliorer la réputation du site. Par défaut, WordPress n’offre que deux options pour les commentaires agressifs: laisser ou laisser tomber. N’est – il pas préférable de suivre des sites comme la BBC et le Guardian et de pouvoir marquer les commentaires comme s’ils violaient les règles internes et se contentaient de remplacer le texte par un message approprié? Dans cet article, nous allons passer en revue les mises à jour nécessaires pour ajouter cette fonctionnalité au site WordPress et faire savoir aux commentateurs sans aucun doute quand ils ont enfreint les règles.
Même si vous n’avez pas de site Web sur le football, le changement climatique ou tout autre sujet qui pourrait déclencher des commentaires désagréables, si vous autorisez les commentaires sur votre site Web, vous devrez peut – être prendre des mesures pour prévenir ou arrêter la guerre des commentaires, ou tout simplement supprimer les commentaires offensants. Le recyclage des commentaires est une option, mais cela n’indique pas aux commentateurs offensants ou aux autres utilisateurs du site qu’ils ont enfreint les règles internes, ce qui explique pourquoi les commentaires sont désactivés. Ce qu’il faut, c’est pouvoir:Chaque fois qu’un commentaire est affiché sur la page commentaires, Remplacez le texte par le message « règles de la maison brisée » Rafraîchissez le message « règles de la maison brisée » sur la page paramètres de discussion pour commencer la construction. Étape 1: il peut être presque impossible pour WordPress d’introduire de nouveaux états d’annotation (qui sont encodés à certains endroits) en marquant les commentaires comme des règles internes corrompues, mais il offre la possibilité d’ajouter des métadonnées aux commentaires, et c’est ce que nous utiliserons pour marquer les commentaires qui enfreignent les règles.
En fait, laissez ch
Et les commentaires sont approuvés, mais le marquage facilite la mise en oeuvre. Ce que nous voulons faire, c’est ajouter une option au menu qui apparaît sous chaque entrée de la page de commentaires: L’ajout de la « règle de la maison brisée » aux options de commentaires est une bonne technique pour y parvenir, et Andrew nacin et son plug – in d’essai de commentaires fournissent un bon indice. Commentaire de la fonction _ row actions ($actions, $comment) {
Si (! Isset ($actions [‘approve’))
Renvoie $action;
$houserles = Str _ replace (‘action = approvecomment’, ‘action = approvecomment & houserles = 1’, $actions [‘approve’);
PREG _ match (\
$houserles = Str _ replace (array (‘: New = approved,’ Vim – a ‘), array (‘: New = approved & houserles = 1 ‘), $matches [1]);
$House Rules = (\
$action [‘approve’] = ‘ | ‘ . $ Les règles de la maison. \
Renvoie $action;
}
Cette fonction est liée au filtre comment _ row actions, vérifie que l’approbation est une option disponible, puis ajoute l’opération break House Rules à l’opération approval en ajoutant des houserules = 1 à querystring.
Incidemment, l’option Breaking Rules n’apparaîtra que sur les commentaires qui n’ont pas encore été approuvés. Pour marquer les commentaires approuvés, annulez l’approbation et cliquez sur règles de la maison Roke. Ensuite, nous devons lier à l’action WP _ set comment Status pour marquer les commentaires comme des briseurs de règles si nécessaire. Fonction WP _ set comment Status ($comment ID, $status) {
Si ($Status! = \
Supprimer _ comment Meta ($comment ID, self:: Meta key);
Si (! Empty ($_ Get [‘houserles]) | |! NULL ($_ post [‘houserles’])
Mettre à jour _ comment Meta ($comment ID, self:: Meta Key, \
}
Si le commentaire n’est pas approuvé, l’étiquette est retirée du commentaire. On vérifie ensuite si le règlement de la Chambre a été établi et si les commentaires l’ont marqué.
Gérer les mises à jour
Page de commentaires. Et si on échangeait les paroles? Étape 2: ajouter le message Breaking Rules à la page paramètres > discussion afin de faciliter la mise à jour du message pour remplacer le texte qui marque le commentaire, nous ajouterons une option à la page paramètres > discussion. Mettre à jour facilement les messages de violation des règles en discutant des paramètres sur la page \/ \/ Inscrivez – vous aux nouvelles options de message des règles de la maison
Fonction HR _ Register Setting () {
Paramètres du Registre
« Discussion»,
« HR _ message»,
« taille»
);
Ajouter un champ
\
Les règles de la maison brisée,
Tableau (& $this \
« Discussion»,
« par défaut»,
Tableau (\ \ label pour \
);
}
Description des nouvelles options de RH
Fonctions HR \ u description () {
Echo \ Saisissez le message à afficher au lieu du texte du commentaire
«;
}
Obtenir la valeur de l’option
Fonction HR _ show set ($Parameter) {
$Data = ESC _ ATTR (get option (‘HR MSG’, »);
Imprimer f
‘
‘.$ Date. \
$date,
$args [‘label _ for’]
);
}
Il s’agit du Code API pour les paramètres standard et il est ajouté à l’opération admin _ init. Ajouter une nouvelle option de message de règle principale au bas des options par défaut sur la page paramètres > discussion. Cette option stocke une option globale nommée HR _ MSG. C’est le message que nous récupérerons et que nous utiliserons comme texte alternatif pour marquer les commentaires.
Étape 3: remplacer le texte d’annotation marqué par une règle corrompue il s’agit de l’étape la plus simple qui consiste à ajouter une petite fonction au filtre get _ comment text qui vérifie si l’annotation est marquée et, dans l’affirmative, renvoie l’option globale HR MSG pour remplacer efficacement le texte original \/ \/ Remplacer le texte en cas de commentaire contraire aux règles
Fonction get _ comment text ($text, $comment) {
If (get _ comment Meta ($comment – > Comment ID, self:: Meta Key, True)) {
Retourner l’option get _ option (‘HR MSG’, »);
< Modifier
Renvoie $texte;
}
}
Maintenant, quand un mes
WISE est étiqueté comme un contrevenant, donc il apparaîtra en public