Francis Chouquet Graphiste Lettering

Comment différencier les commentaires de l’auteur d’un article ?

0

Thomas du blog Toile filante, 22 ans, viens de finir ses études en informatique et management (IUP MIAGE Toulouse). Passionné de nouvelles technos depuis un petit bout de temps, mac user depuis 1 an, il vit actuellement au Texas et son nouvel emploi du temps lui laisse de moins en moins de temps pour bloguer, ce qui ne l’empêche pas d’essayer de satisfaire sa curiosité pour tout ce qui touche aux technologies de l’information. Il est le premier contributeur à cette ouverture du blog. On a parlé il y a peu de la customisation des commentaires dans WordPress, j’ai pensé que ce billet allait très bien dans la continuité de ce que l’on a pu voir auparavant.


Pourquoi vouloir différencier vos propres commentaires sur votre blog? Parce que cela permettra à vos visiteurs de les identifier et de suivre plus facilement la conversation. Certains thèmes pour WordPress proposent cette fonctionnalité par défaut, mais voici un petit guide pour différencier les commentaires de l’auteur des autres intervenants:

1- Localiser le style attribué aux commentaires

Cherchez dans votre feuille de style (habituellement le fichier style.css) le style appliqué aux commentaires. Celui-ci devrait ressembler à cela :

1 2 3 4 5 
comment { background:#FFFFFF; margin:0 0 5px; padding:10px 10px 5px; }

Remarquez que le nom de la class comment n’est ici qu’un exemple.

2- Créer un deuxième style pour les commentaires de l’auteur

Maintenant vous allez créer une deuxième classe applicable aux commentaires de l’auteur. Le plus simple est d’utiliser le mème style en ne changeant que la couleur de fond. Votre style ressemblera donc à cela :

1 2 3 4 5 
comment-author { background:#EEEEEE; margin:0 0 5px; padding:10px 10px 5px; }

3- Localiser la boucle d’affichage des commentaires

Ensuite ouvrez le fichier comments.php et repérez la boucle qui permet l’affichage de tous les commentaires :

1 
<?php foreach ($comments as $comment) : ?>

A l’intérieur se trouve la fonction qui appelle la classe qui stylise les commentaires. Normalement c’est la fonction suivante:

1 2 3 
<div class="comment"> <?php comment_text() ?> </div>

4- Insérer une condition

Il suffit alors d’y ajouter une condition pour que la classe comment-author créée précédemment soit appelée si l’auteur du commentaire est également l’auteur du billet. Pour cela, vous allez retirer la première ligne de la div class et la remplacer par une clause conditionnelle qui « dit » ceci: quand il y a un commentaire, on va vérifier l’id de l’utilisateur, et si c’est la même id que l’auteur de l’article (ici on a pris l’id=1), on ira rechercher le style approprié, ici comment-author {}. Voici ce code:

1 2 3 4 5 6 7 8 9 10 
<?php if($comment->user_id == $post->post_author) { $class = 'comment-author'; } else { $class = 'comment'; } ?> <div class="<?=$class?>"> <?php comment_text() ?> </div>

Et voilà le résultat :

Customize authorís comments

Ce guide concerne WordPress, mais avec quelques petits ajustements il est possible de faire la mÍme chose sur níimporte quelle plateforme. Je rappelle �?galement que les noms de classes sont donnés à titre indicatif, vous pouvez choisir les votres.

Via Daily blog tips

24 Commentaires

  • J’utilise cette technique combinée à un petit formulaire qui permet aux participants de choisir la couleurs de fond. Bien sûr, ma couleur attribuée est unique 😉

    visible ici : http://www.sutekidane.net/blog/

    ah oui, c’est un moteur de blog perso.

  • Thanh > Très beau blog en tout cas !! 😉 T’as développé le moteur toi-même ?

  • Yep, le moteur est un peu vieux, il date de 2004 mais il arrive à faire tourner le blog.

    Une grosse mise à jour est prévue, enfin si le temps me le permet (ou bien un passage à WordPress ^^)

  • Bon article. Je fais déjà ça chez moi, mais le test de la condition est sur l’adresse email, ce qui est une erreur, puisque n’importe qui peut potentiellement prendre ma place de chef. Faut que je change ça vite fait.

    Sinon, il peut être intéressant d’afficher un avatar pour les commentateurs réguliers, comme le fait lomig : http://www.blomig.com/2007/06/.....mentaires/

    Et puis pour finir, Francis, il faut que tu saches que l’encodage de ton article chie un peu chez moi : « ?galement que les noms de classes sont donn?s ? ». Est-ce que je suis le seul à voir des caractères bizares ?

  • thibault > Non non, c’est pas chez toi que ça « chie »…:D Mauvais transfert d’Ecto vers WordPress… je modifie ça de suite !

  • Super article, justement j’avais prévu de faire cette manipulation ce week-end, mais je comptais utiliser un plugin : ce billet m’évite de déployer une usine à gaz ! 🙂

  • salut
    bravo pour ce premier article invité…la problématique rejoint ce qui se met en place sur Fran6art, bien sûr : qui dit auteur invité, dit auteur qui doit répondre aux commentaires sur « son » billet, et qui dit, donc, personnalisation des commentaires de l’auteur. Merci beaucoup, ça risque de me servir rapidement.
    à bientôt !

  • Lomig > Encore quoi que Lomig… Pour le moment, l’auteur sous WP c’est encore moi. Je vais essayer de trouver une bonne méthode…ou plutôt une bonne solution pour modifier tout ça. On n’est pas sur un vrai blog « collaboratif » dans le sens que plusieurs blogueurs peuvent poster ce qu’ils veulent, quand ils veulent. Ici, c’est plus du « guest-blogging ». C’est moi qui intégre les billets dans WP et les met en page si nécessaire… Donc, faut encore que je regarde ça de plus près… J’avoue que je n’ai pas encore trouvé la meilleure solution… En tout cas, c’est un petit plus que j’aime beaucoup !!

  • Y’a pas moyen de déclarer un utilisateur « virtuel » pour chaque « guest » auteur, et lui attribuer un compte « auteur ». Puis publier le billet en étant loggé en tant que « guest ». Ensuite, lorsque le vrai auteur viendra répondre, il mettra son adresse mail et son nom (et s’ils collent avec ceux de l’utilisateur wordpress), et le billet le reconnaitra comme l’auteur du billet, non ?

  • Je ne suis pas sûr, faut que je regarde ça de plus près…

  • Cette méthode ne marche pas avec le Brian’s Threated Comments dommage sinon j’aurai bien appliqué chez moi 🙂

    Cela dit je suis une bille en PHP donc y’a surement moyen de configurer ça mais je ne peux pas aider à donner la solution malheureusement 🙁

  • Oui Arkan, il y a sûrement un moyen de modifier tout ça !! 😉

  • Je suppose cher ami ^^

    Il y a aussi moyen d’aller sur la lune mais c’est pas moi qui pourrait m’y rendre 😀 😀

  • Bonjour,
    Merci pour cet article bien utile. Je ne sais pas coder, je me demandais donc si tu accepterais de m’aider avant que je fasse une bétise. Je ne suis pas bien sure de l’endroit ou placer le code spécifique ds comment.php, car voici comment se trouve le mien (issu du thème par défaut) :

    id= »comment-« >
    dit :
    comment_approved == ‘0’) : ?>
    Votre commentaire est en attente de modération.

     » title= » »> à

    Je voudrais juste savoir quelle ligne remplacer par le code que tu donnes, celui qui insère la condition. Merci d’avance.

  • Oups ! Le code que j’avais copié-collé n’est apparu que partiellement ! Je réessaye :
    [code]

    id="comment-">
    dit :
    comment_approved == '0') : ?>
    Votre commentaire est en attente de modération.

    " title=""> à

    [/code]

  • personnellement , j’ai du passé une bonne heure pour modifier le comment.php mais le résultat en vaut la peine , merci 😉

  • Salut Fran6art!
    C’est apparemment le code que je cherchais pour mes commentaires, mais comme je suis un peu débutant, j’aimerais juste savoir quels caractères allaient à la place des et des ?? puisque le code semble être mal encodé…

  • J’ai rien dis, j’ai trouvé!

  • Delphine

    Et bien moi je suis une quiche, et je n’y suis pas arriver,
    mais en attendant (car je vais persister) j’ai trouvé ce plugin :
    « Highlight Author Comments »
    au cas d’autres quiches passeraient par ici ;o)

  • J’ai pas compris, j’ai tenté et j’ai réussi 🙂
    merci pour ces explications pas clair mais très précises.

Success, your comment is awaiting moderation.