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