Lorsque vous publiez des articles sur votre blog ou site WordPress, ce n’est pas forcément constructif de recevoir des commentaires tels que “OK”, “Cool”, “Premier” ou “Très bon article, merci” etc…

D’une part, ça n’apporte rien à la discussion. Et d’autre part, ça peut devenir du spam.

Pour y remédier, je vous propose ici de définir un nombre minimum de caractères pour qu’un commentaire soit publié.

Voici le code à copier-coller dans le fichier functions.php de votre thème enfant:

/* Définir un minimum de caractères pour valider la publication d'un commentaire */
add_filter( 'preprocess_comment', 'wpm_minimal_comment_length' );

function wpm_minimal_comment_length( $commentdata ) {
// Ici on fixe le nombre minimal de caractères par commentaire.
$minimalCommentLength = 20;

// On regarde si le commentaire contient plus que 20 caractères
if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){
// Si il fait moins de 20 caractères, on renvoit une erreur:
wp_die( 'Les commentaires doivent contenir au minimum ' . $minimalCommentLength . ' caractères.' );
}
return $commentdata;
}
  • La fonction strlen() calcule le nombre de caractères d’une chaine ;
  • La fonction trim() supprime les espaces en début et fin de chaine.

N’hésitez pas à adapter l’erreur en fonction de ce que vous souhaitez afficher.

Voici l’erreur générée lorsque j’essaye de valider le commentaire “Cool” sur un article :

erreur commentaire court wpmarmite

Allez-vous mettre en place ce snippet sur votre blog ? Comment pensez-vous que vos lecteurs vont réagir ?

Source: Elegant Themes