Maison / Facebook / Les anciens ajoutent un commentaire. Comment changer la direction de la liste des commentaires et déplacer le formulaire de commentaire vers le haut. Formulaire de soumission de commentaires

Les anciens ajoutent un commentaire. Comment changer la direction de la liste des commentaires et déplacer le formulaire de commentaire vers le haut. Formulaire de soumission de commentaires

Cela fait un moment que je n'ai rien écrit sur WordPress. Par conséquent, aujourd’hui, je vais partager avec vous comment modifier manuellement le formulaire de commentaire dans WordPress. Je pense que ces connaissances peuvent être utiles à tout blogueur débutant, car la forme du commentaire est parfois le seul moyen de communication entre les visiteurs et l'auteur. Ne passez pas à côté :)

Avant de commencer toute manipulation avec le code, je tiens à vous prévenir à l'avance que nous éditerons les fichiers de WordPress lui-même, et non les fichiers de thème. Oui, cela peut sembler dangereux pour certains, inutile pour d'autres, et ne plaira tout simplement pas à d'autres :) Mais j'ai fait exactement comme ça et je n'ai eu aucun problème. Je vous conseille de faire une sauvegarde du fichier que vous éditez avant de commencer.
Je vous ai prévenu concernant la sécurité, je veux maintenant montrer le résultat auquel je suis arrivé.


Comme on peut le constater, la ligne « Votre e-mail ne sera pas publié » a été supprimée. Les champs requis sont indiqués *". Il n’est pas nécessaire de considérer les visiteurs comme des idiots sans cervelle. Ils comprennent déjà ce qui doit être rempli et ce qui ne l'est pas. J'ai également caché les noms des champs à l'intérieur des champs eux-mêmes. A quoi servent ces notes en gras ? La plupart des visiteurs, même sans noms de champs, peuvent déterminer « à l’œil nu » lequel appartient à quoi. Mais les indices internes doivent toujours être présents. Eh bien, la légende du champ de commentaire a perdu son audace inutile. À mon avis, c'est devenu bien meilleur et plus libre.

Alors changeons tout vite ! ;)
Nous allons dans le dossier de notre site et y trouvons le fichier wp-includes/comment-template.php. Nous y recherchons la ligne 1522, oui, c'est tout. Comment je l'ai trouvé moi-même, c'est toute une histoire, je vous en parlerai un peu plus tard :)
Alors, ouvrez le fichier pour le modifier et passez à la ligne 1522. Maintenant, cela et les suivants (jusqu'à 1529) ressemblent approximativement à ceci :

$fields = array("auteur" => "

" . "" . __("Nom") . " " . ($req ? "*" : "") . "

", "e-mail" => " ", "url" => "

" . __("Site web") . "" . "

",);

Comme tout est simple et clair. Il suffit de couper tout ce qui dépasse et d'en ajouter un peu. Le paramètre sera ajouté

Placeholder="Texte d'aide" !}

Cette option vous permet d'afficher n'importe quel texte à l'intérieur des champs. Nous l'utilisons pour afficher des indices :

"

" "

" "

"

Nous supprimerons les lignes :

"

" . "" . __("Nom") . " " . ($req ? "*" : "") "

" . __("Site web") . ""

Ils sont chargés d’afficher les légendes au-dessus des champs.
Suite à TOUTES ces manipulations, nous obtenons ce qui suit :

$fields = array("auteur" => "

", "e-mail" => "

", "url" => "

",);

Il ne reste plus qu'à supprimer l'indice stupide « Votre e-mail ne sera pas publié. Les champs requis sont indiqués *". Pour cela, supprimez la ligne (environ 1537) :

"comment_notes_before" => "

" . __("Votre adresse email ne sera pas publiée.") . ($req ? $required_text: "") . "

",

Cela semble être tout, maintenant notre formulaire est devenu un peu plus attractif. J'espère que cette information sera utile à quelqu'un :)

Abonnez-vous, commentez, je serai heureux de recevoir tout commentaire adéquat. Peut-être que je ne sais pas quelque chose moi-même et que cela peut être fait différemment, partagez vos réflexions.

WordPress propose plusieurs types de contenus tels que des articles, des pages, des commentaires. WordPress est une plateforme très flexible qui vous permet de personnaliser le contenu de base en fonction de votre site. Vous pouvez modifier l'apparence et les fonctionnalités. Dans ce tutoriel nous allons vous montrer comment modifier le comportement et l'apparence des commentaires sur un site WordPress.

Étape 1. Comprendre la fonction comment_form et ses arguments

Jetons un coup d'œil à la fonction WordPress comment_form. Il est responsable de l'affichage du formulaire de commentaire qui apparaît sur la page ou la publication. L’appel à cette fonction se trouve principalement dans le fichier comments.php du dossier du thème. Ce fichier est inclus à divers endroits, par exemple dans les fichiers single.php et page.php, directement ou via un appel à la fonction comments_template.

La description de la fonction peut être trouvée dans le codex WordPress.

Si vous utilisez la fonction comment_form pour afficher un formulaire, il sera rendu en utilisant les paramètres par défaut et contiendra des champs tels que le nom, l'e-mail (les deux champs sont obligatoires), le site Web et le contenu du commentaire. Dans le thème Twenty Eleven par défaut, le formulaire ressemblera à ceci.

Quelques arguments importants pour la fonction comment_form :

  • champs - vous pouvez l'utiliser pour contrôler l'affichage des champs dans le formulaire de commentaire.
  • comment_notes_before et comment_notes_after - utilisés pour afficher des informations avant et après le formulaire.
  • title_reply - utilisé pour modifier le titre de la réponse, qui est par défaut « Laisser une réponse ».
  • label_submit - utilisé pour modifier le texte sur le bouton de soumission du commentaire.
Étape 2. Personnalisez le formulaire de commentaire à l'aide de la fonction comment_form

Configurons maintenant notre formulaire de commentaire en passant des arguments à la fonction comment_form.

Si nous devons personnaliser les champs du formulaire de commentaire, nous devons en transmettre une liste à la fonction comment_form. Par défaut, la fonction utilise la liste de champs suivante :

$fields = array("auteur" => "

" . "" . __("Nom") . " " . ($req ? "*" : "") . "

", "e-mail" => " ", "url" => "

" . __("Site web") . "" . "

",);

Si nous devons supprimer un champ, par exemple website , nous devons simplement l'exclure du tableau et transmettre le tableau à la fonction comment_form.

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("auteur" => "

" . "" . __("Nom") . " " . ($req ? "*" : "") . "

", "e-mail" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

De plus, nous modifierons également le nom du formulaire en « Veuillez nous faire part de votre précieux commentaire » et l'inscription sur le bouton en « Envoyer mon commentaire ».

Pour terminer la tâche, nous transmettons les arguments suivants à la fonction comment_form :

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("auteur" => "

" . "" . __("Nom") . " " . ($req ? "*" : "") . "

", "e-mail" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"Veuillez nous donner votre précieux commentaire", "label_submit" => "Envoyer mon commentaire"); comment_form($comments_args);

Maintenant, le formulaire de commentaire ressemblera à ceci :

Étape 3. Supprimer des champs d'un formulaire à l'aide d'un hook

De plus, le formulaire de commentaire WordPress peut être modifié à l’aide de crochets et de filtres. Ce paramètre peut être particulièrement utile lorsque vous travaillez avec un plugin, lorsque vous devez personnaliser plusieurs éléments, mais pas modifier les fichiers de thème. Filtre pour ajouter ou supprimer des champs du formulaire - ' comment_form_default_fields '

Supprimons le champ URL à l'aide d'un filtre. Le code ci-dessus peut être utilisé dans un plugin ou dans le fichier function.php du thème actif.

Fonction remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");

Étape 4. Ajoutez des données au formulaire de commentaire à l'aide d'un hook

Nous pouvons ajouter des champs au formulaire en utilisant le filtre 'comment_form_default_fields'. Ajoutons le champ d'âge de l'auteur à l'aide d'un filtre, enregistrons ce champ avec des données supplémentaires et affichons-le dans le commentaire.

Ajoutez un champ comme celui-ci :

Fonction add_comment_fields($fields) ( $fields["age"] = "

" . __("Âge") . "" . "

"; return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

#respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-age label, #respond .comment-form-comment label ( arrière-plan : #eee ; -webkit-box-shadow : 1px 2px 2px rgba(204 204 204,0,8) ; -moz-box-shadow : 1px 2px 2px rgba(204 204 204,0,8) ; : 13px ; largeur minimale : 4px 10px ;

Maintenant, notre formulaire de commentaires ressemblera à ceci :

L'âge est désormais stocké comme information supplémentaire. Vous devez utiliser le hook dans 'comment_post' :

Fonction add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("comment_post", "add_comment_meta_values", 1);

Une fois les données enregistrées, elles peuvent être affichées sous forme de commentaire comme celui-ci :

Étape 5. Configuration des commentaires pour des types de publication spécifiques

Parfois, vous souhaitez utiliser les champs de commentaires uniquement pour certains types de publications. Modifions le code pour afficher le champ âge uniquement pour un type de fiche de livre :

Fonction add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

" . __("Âge") . "" . "

"; ) return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

Étape 6. Créez une fonction de rappel pour afficher les commentaires

La fonction wp_list_comments est utilisée pour afficher les commentaires sur les publications. Dans le code WordPress la fonction est décrite en détail.

wp_list_comments a un argument ' callback ' dans lequel vous pouvez définir une fonction qui est appelée lorsqu'un commentaire est affiché.

Dans le thème Twenty Eleven dans le fichier comments.php vous pouvez retrouver la ligne :

Wp_list_comments(array("callback" => "twentyeleven_comment"));

Changeons-le en :

Wp_list_comments(array("callback" => "my_comments_callback"));

La fonction my_comments_callback sera appelée pour chaque publication.

Étape 7 : Styliser les commentaires

Nous allons maintenant modifier un peu le style des commentaires. Nous afficherons simplement le contenu du message et le champ d'âge que nous avons ajouté précédemment. Nous modifierons également la couleur d’arrière-plan des commentaires.

Code de fonction « my_comments_callback » :

Fonction my_comments_callback($comment, $args, $profondeur) ( $GLOBALS["comment"] = $comment; ?>