Structured content
Dans la série des astuces pour WordPress simples à mettre en œuvre, voici comment modifier le texte qui s'affiche avant le formulaire de commentaires de votre site WordPress. Vous vous êtes peut-être déjà demandé comment supprimer ce texte ou le personnaliser ? La réponse se trouve dans ce tutoriel.
core/group
L'essentiel à retenir ℹ️
Pour modifier le texte affiché avant le formulaire de commentaires WordPress, il suffit d'ajouter un filtre sur comment_form_defaults dans votre fichier functions.php. Ce code personnalise l'argument comment_notes_before, celui qui contrôle le message visible par vos visiteurs avant de laisser un commentaire. La modification s'applique uniquement aux visiteurs non connectés.
Le texte affiché avant les commentaires WordPress
Par défaut, WordPress affiche un petit texte avant le formulaire de commentaires pour informer vos visiteurs. Voilà ce qui s'affiche avant toute modification :
Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *.
[caption id="attachment_199" align="alignnone" width="793"] Le texte initial affiché avant le formulaire des commentaires.[/caption]
Mon problème, c'est que je voulais être plus explicite et prévenir les visiteurs que les commentaires sont publiés après modération, c'est-à-dire après validation manuelle.
Malgré l'utilisation d'un plugin anti-spam, certains messages indésirables passent parfois le filtrage. D'autres commentaires sont tout simplement irrespectueux. La modération manuelle reste la solution la plus fiable. Je préfère donc signaler aux visiteurs que leurs messages seront vérifiés avant publication.
Où modifier le texte du formulaire des commentaires WordPress ?
La première fois que j'ai cherché comment changer ce texte, j'ai bien galéré.
Il faut éviter de modifier ce texte directement dans les fichiers de votre thème : à la prochaine mise à jour, vos modifications seront effacées. Si vous utilisez un thème enfant, cela peut à la rigueur se faire mais je vous le déconseille.
Le texte affiché provient des fichiers de traduction de WordPress. Plutôt que de les modifier directement, utilisez le filtre présenté ci-dessous. Comme souvent pour personnaliser WordPress, il vous faudra copier-coller ce code dans le fichier functions.php de votre thème :
/* modifie le texte avant le formulaire de commentaires */
function cd_pre_comment_text( $arg ) {
unset($arg['comment_notes_before']);
$arg['comment_notes_before'] = '
<p class="comment-notes">Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *.
<br />Les commentaires sont publiés après modération.</p>
';
return $arg;
}
add_filter( 'comment_form_defaults', 'cd_pre_comment_text' );
À noter : ce code modifie uniquement le texte visible par les visiteurs non connectés. Le message affiché aux utilisateurs enregistrés est géré séparément par WordPress.
Je ne suis pas l'auteur de ce code. Voici la source originale : https://gist.github.com/cdils/7752867
Ce code accroche un filtre sur la fonction comment_form_defaults. Vous n'avez qu'à remplacer le texte entre les guillemets pour personnaliser l'argument comment_notes_before. Exemple : $arg['comment_notes_before'] = 'Votre texte ici'.
Voilà le résultat final pour mon thème WordPress :
[caption id="attachment_200" align="alignnone" width="735"] Le texte personnalisé affiché avant le formulaire de commentaires de Wordpress[/caption]
Pour finir, voici la documentation WordPress sur la fonction qui gère le formulaire de commentaires : https://codex.wordpress.org/Function_Reference/comment_form. Vous pouvez aussi consulter nos tutoriels sur supprimer le champ site web du formulaire de commentaires et sur désactiver les commentaires WordPress.
core/heading
Foire aux questions
core/heading
Où placer le code pour modifier le texte du formulaire de commentaires ?
core/paragraph
Vous devez coller le code dans le fichier functions.php de votre thème actif ou, de préférence, de votre thème enfant WordPress. Un thème enfant garantit que vos modifications survivent aux mises à jour du thème parent.
core/heading
Est-ce que ce code modifie aussi le texte vu par les utilisateurs connectés ?
core/paragraph
Non. Le filtre comment_form_defaults ne s'applique qu'aux visiteurs non connectés. Les utilisateurs enregistrés voient un message différent géré séparément par WordPress.
core/heading
Peut-on supprimer complètement le texte avant le formulaire de commentaires ?
core/paragraph
Oui. Pour supprimer ce texte, il suffit d'assigner une chaîne vide à comment_notes_before : $arg['comment_notes_before'] = '';. Le texte disparaîtra entièrement du formulaire.
core/heading
Ce code fonctionne-t-il avec tous les thèmes WordPress ?
core/paragraph
Il fonctionne avec la quasi-totalité des thèmes qui utilisent la fonction native comment_form() de WordPress. Certains thèmes ou constructeurs de pages peuvent avoir leur propre formulaire de commentaires qui n'utilise pas ce filtre.
core/heading
Peut-on ajouter du HTML dans le texte du formulaire de commentaires ?
core/paragraph
Oui, le champ comment_notes_before accepte le HTML. Vous pouvez utiliser des balises <p>, <strong> ou des liens <a> pour mettre en forme votre message.
core/heading
Que faire si la modification ne s'affiche pas ?
core/paragraph
Vérifiez que le code est bien dans votre fichier functions.php actif et qu'il ne contient pas d'erreur de syntaxe PHP. Pensez aussi à vider le cache de votre site si vous utilisez un plugin de cache.