Changer le gravatar par défaut de WordPress

Envie de changer le gravatar par défaut de WordPress, le célèbre homme mystère ? Quelques lignes de code suffiront pour spécifier l’image par défaut de votre choix et personnaliser d’autant plus votre blog WordPress.

A propos des gravatars

Les gravatars correspondent aux vignettes associées aux auteurs des commentaires de votre blog WordPress. L’avantage d’un tel outil ou plutôt service est que votre photo sera associée à votre mail et donc réutilisée à chaque commentaire de façon automatique – pour peu que le site tourne sous WordPress.

Un gravatar par défaut via PHP

L’astuce a été proposée il y a de cela des années par le site Build Internet. Il s’agit donc d’une adaptation française.

Copiez / collez les lignes de code suivantes dans le fichier functions.php de votre thème :

add_filter( 'avatar_defaults', 'gravatar_perso' );
function gravatar_perso ($avatar_defaults) {
    $myavatar = get_bloginfo('template_directory') . '/images/gravatar-perso.png';
    $avatar_defaults[$myavatar] = "WordPress Channel";
    return $avatar_defaults;
}

2 choses à savoir concernant cette fonction :

  1. Vous devez envoyer une image intitulée gravatar-perso.png dans le dossier images de votre thème WordPress. Vous êtes libres de changer l’URL bien entendu. Une image de grande taille est conseillée bien que cela dépende directement de votre site ;
  2. Indiquez un nom pour ce nouvel avatar par défaut ;

Rendez-vous ensuite dans le back office de WordPress sous l’onglet Réglages puis Discussion. Là, cochez le gravatar portant le nom que vous lui avez donné, soit WordPress Channel dans mon cas.

Capture d'écran - Options des gravatars sous WordPress

Choix du gravatar par défaut sous WordPress

Démonstration visuelle

Pour vous faire une idée, rien de plus simple ! Cette astuce est en place sur WordPress Channel. Il suffit de parcourir le site à la recherche d’un commentaire sans gravatar.

Celui par défaut ressemble à ça :

Icône - Gravatar par défaut

Un exemple de gravatar sur-mesure

Plus d’excuses pour ne pas personnaliser les gravatars de votre site WordPress !

Crédits photo : Ddesign

Aurélien Denis est le fondateur du projet WordPress Channel proposant tutoriels et podcasts librement téléchargeables. En 2010, il fonde Neticpro, une agence Web spécialisée WordPress. Il est aussi co-fondateur du site Protuts.net (tutoriels PC/Mac/Linux) et community manager pour l’Imagine Cup 2011/2012, une compétition mondiale organisée par Microsoft.

67 commentaires

  1. Une façon propre de le faire.
    J’en ai une autre pour les fainéants :D – Remplacer l’image d’origine (garder le même nom) par la votre. Bon après quand il y a une mise à jour parfois elle disparait mais voila :) Astuce du jour lol

    Merci Aurélien :)

  2. Jng

    Merci pour cette astuce. Je vais de ce pas la mettre en pratique.

  3. Excellent ! Quand on aime personnaliser à fond, on doit passer par ça !
    Merci :)

  4. Micka

    Excellent !

    Si tu savais comme j’ai « galéré » avec ce ‘Gravatar’…
    Pour le configurer tout d’abord, trouver tout d’abord un ‘username’ qui convienne à ce monsieur…
    Puis pour trouver comment échapper à l’affichage bloqué du « Gras-batard » (le ‘Wavatar’ généré pour ceux qui n’ont pas de photo). Bref, j’avais déjà renoncé à utiliser les Avatars sur mes blogs…
    Merci de m’avoir livré la clé de l’énigme !
    Amicalement,
    Michael
    PS Je peux t’emprunter ta petite photo :-) ?

  5. Micka

    Bon.

    J’ai essayé de bidouiller en remplaçant la ligne 3 de la fonction, dont l’expression ‘ get _ bloginfo ‘ semble à l’origine du bug, par :

    $myavatar = ‘/images/gravatar-non-dispo.jpg’;

    J’obtiens, dans la liste à cocher de l’option « Avatars », une belle ligne :
     » /images/gravatar-non-dispo.jpg’ value=’/images/gravatar-non-dispo.jpg’ /> Perso Gravatar-non-dispo  » :-)

    Et ce p@… de « Gras-Batard » se vautre toujours à l’affichage, là où je ne l’ai pas invité GR@@@ :-|

    Je donne ma langue au chat, désolé.

    Merci.

  6. Micka

    Ah… la fonction a été partiellement « mangée » par l’affichage…

    J’ai écrit :

    $myavatar = ‘ / images/gravatar-non-dispo.jpg ‘ ;

    Si ça passe pas, je r’commence… :-|

  7. Micka

    Je recommence …

    $myavatar = ‘ [? péhachepet blogueinfo ( antislash' tempelate directoiry antislash' fin?péhachepet ]/ images/gravatar-non-dispo.jpg ‘ et le double point :-)

    Voyons ce que ça donne ;-)

  8. Micka

    C’est fou la créativité qu’il faut développer pour contrer ces p@ de machines :-)

    Bon, qui d’autre a testé aussi ?

  9. Très bon hack pou changer le Gravatar, surtout que cela permet de stocker sur son serveur l’image plutôt que de télécharger sur les serveurs de Gravatar celui par défaut. ;)

  10. pour personnaliser mon avatar, j’ai utilisé l’extension « Add New Default Avatar » mais c’est le même pour les visiteurs et pour moi même

    • Une extension oui, mais les extensions il faut installer en installer les moins possibles. Je ne suis pas un expert de wordpress, mais je crois bien que celles-ci rendent le site relativement lent… Je dis ça je dis rien ;)

  11. Lamine Seck

    Bonjour et merci pour ce tuto. Une question cependant: à quel endroit doit-on placer le code dans functions.php?

  12. Bonjour,

    Le code ne fonctionne pas sur mon thème Mystique, je voudrais essayer en mettant l’url de l’image plutôt que de le mettre dans le dossier image pour voir si ça résout le problème, pouvez vous me dire quel serait le nouveau code avec l’url de l’image ?
    Merci
    Bonne journée

  13. Ce sont souvent ces détails qui, quand ils s’accumulent, font la différence. Merci pour cette astuce sympathique !

  14. Micka

    Cela NE FONCTIONNE PAS sous le dernier WordPress 3.4.1.

    Je l’ai déjà signalé quelques commentaires plus haut mais je n’ai pas eu de réponse.

    Alors, si vous voulez bien m’éclairer SVP, merci beaucoup.

    • Tu as bidouillé la fonction et cela ne fonctionne PLUS, très différent.
      Merci de poster le code avec pastebin.com afin qu’on puisse y voir clair (on est dans le noir ? Je coihaite y voir clair et toit être éclairé …)
      J’ai l’impression que tu as mis des balises php dans du code php dans une string, bref, du pas bon, alors pas la pein de venir crier au loup ;)
      See you

  15. Micka

    Non, non :-)

    C’est parce que cela ne fonctionnait PAS que j’ai essayé de bidouiller.

    N’inversons pas les choses STP.

    Si cela avait fonctionné d’entrée de jeu, je n’aurai pas perdu mon temps à cela.

    Voilà où j’en suis.

    Je persiste et je signe : cela ne semble PAS fonctionner avec la dernière mise à jour de WordPress.

    Qui d’autre ici aurait la clé du mystère ?

    Merci beaucoup :-)

  16. Micka

    SVP,

    Voulez-vous bien me donner un mode d’emploi clair, net, précis, détaillé pas à pas, accessible pour un non-informaticien comme moi ET dont le résultat soit garanti sous WordPress 3.4.1 ?

    Merci infiniment.

    Bien cordialement.

  17. Eluuna

    A dire vrai je n’y arrive pas non plus.
    J’ai bien le point qui s’ajoute, avec le nom que j’ai donné mais il ne trouve pas l’image.
    J’ai vérifié le chemin plusieurs fois.
    C’est cette ligne là qui pose problème: $myavatar = get_bloginfo(‘template_directory’) . ‘/images/gravatar-perso.png’;

  18. Et moi vous m’avez oublié ^^
    Moi j’ai bien mit l’image au bon endroit mais ça ne marche pas, et je voudrais essayer de changer le code pour mettre une url de l’image plutôt que de le mettre dans un dossier « images » pour voir si ça peut résoudre mon problème.
    Vous pouvez me dire quel est le code que je devrais mettre pour ça ?
    Merci
    Bon week end

  19. Micka

    Oh oui, oh oui, un tutoriel svp merci :-)

    Je confirme :

    C’est cette ligne là qui (me) pose problème (aussi) :
    $myavatar = get_bloginfo(‘template_directory’) . ‘/images/gravatar-perso.png’;

    Ouf, je ne suis plus tout seul, à endosser le rôle de « mauvais objet » en laissant imaginer que j’aurais bidouillé un truc qui fonctionnait :D !

  20. Merci pour avoir fait le tuto en vidéo, mais même comme ça ça ne fonctionne pas chez moi, j’ai inséré l’url de l’image entre guillemet et apostrophe à la place de ce qu’il y à d’écrit dans $myavatar= mais rien n’y fait, peut être un problème de compatibilité avec mon thème.

  21. Cyril

    Bonjour,

    Même problème que les autres, cela ne fonctionne pas, l’image n’apparais pas dans le menu et il n’est pas possible de la choisir durablement (quand je valide, elle n’est plus choisi par défault) ^^
    J’ai pourtant essayer les diverses solutions des commentaires mais rien.
    J’utilise la dernière version de wordpress ainsi que le thème Swidish-Greys,

  22. Micka

    Ça y est, la fonction est déboguée…

    J’obtiens bien l’option à cocher « Gravatar-non-dispo » dans les réglages du thème.

    En revanche, ça ne change rien a l’affichage et je n’y comprends rien !

  23. Mis en place, fonctionne.
    Pas de thème enfant pour moi, j’ai mis une image avec le bon nom dans le bon dossier, j’ai collé le code dans mon functions.php. Fonctionne!

  24. Micka

    Vous avez plus de chance ou de doigté que moi :-)

    Cache vidé, avant, pendant, après…
    Rien n’y fait.

    La petite image a beau être cochée et re-cochée dans le menu réglage,
    ça reste désespérément bloqué sur le « Gras-batard » imposé par Gravatar,
    cet espèce de « muppet-show » hideux qui ferait fuir un corbeau sur le dos tellement que c’est laid…

    J’ai donc dû désactiver les avatars plutôt que de subir cette peste.

    Qui d’autre a du pesticide ici :-) ?

  25. En meme temps l’url ne pointe pas chez nous, c’est tout de meme celle de gravatar qui est chargée, puis si l’email n’existe pas chez gravatar, alors il nous renvoie vers cette image que nous lui avons donné en paramètre.
    Donc cela reste toute de même une requete de gravatar, on ne gagne rien.
    Je viens de m’amuser avec les avatars WordPress, http://baw.li/db/Avatar-Google-Imagie.png Qui veut le code ? ;) #plugin ?

  26. Merci beaucoup,
    ça a bien fonctionné pour moi !

  27. Bonjour,
    question bête, il y a une taille ou résolution à ne pas dépasser pour l’image gravatar?
    Merci

  28. template_directory c’est pour le thème parent mais si on utilise un thème enfant, stylesheet_directory?

  29. Merci beaucoup pour le morceau de code.

    C’est passé comme une lettre à la poste chez moi et c’est une solution clean qui me plaît bien.

    Montre en main… 45 secondes ? :)

  30. Momo

    J’ai essayé dans le wordpress 3.4.2 ! Tout fonctionne sauf que l’avatar n’apparaît pas ! C’est bien mais pas top !

  31. gilles

    Help,
    Ayant essayé de posé un bout de code dans « editeur – functions php » j’ai hélas obtenu ce message en me logant.

    Parse error: syntax error, unexpected T_STRING in /home/kalitcho/public_html/wp-content/themes/twentyeleven/functions.php on line 615
    Au travers de mon FTP, j’ai récupéré le fichier, enlevé le bout de code, mais sans succès. Mon seul propos est de pouvoir me reloguer , et comme je viens juste de télécharger ce wordpress ( donc sans contenu) juste qques plugins c’est pas grave
    Puis au travers de mon Cpanel ou de mon FTP juste supprimer le wp et ainsi récupérer mon login pour en remettre un nouveau
    Merci de l’aide Cordialement
    Gilles wedgesand@hotmail.fr

  32. chezmonpoissonnier

    Merci pour cette astuce très intéressante.

    J’ai copié ce code dans le function.php de mon thème enfant en prenant soin de modifier template_directory par stylesheet_directory.

    ça marche, mais trop. Car cela modifie tous les gravatars des commentaires par le mien… Une idée?

    chris

  33. Il est où mon commentaire ???

  34. Stephanie

    Salut.. super vidéo, très clair ! Merci beaucoup !
    J’ai réussi à placer le code au bon endroit, et je vois le nom du nouvel avatar par défaut dans Réglages > Discussion.

    Par contre, l’image n’apparait pas, et j’ai un carré bleu avec un point d’interrogation.
    (idem pour l’avatar vide)

    Adresse de l’image :
    http://i1.wp.com/localhost/wp-content/themes/catch-box/images/cp2_avatar_membre.jpg

    Qu’est ce que « i1.wp.com.. »?
    Pourquoi est ce que j’ai le même problème pour l’avatar vide?

    Ah et j’ai oublié de préciser que je suis pour l’instant en train de développer mon site en LOCAL. ; )

    MERCI d’avance pour toute idée / suggestion ou solution.. je suis complètement perdue et ca fait plus d’une semaine que j’essaie de trouver une réponse.. ; )

  35. Un grand merci pour ce petit article, ca marche au poil ;-)

  36. Merci pour l’explication, simple, rapide et efficace !

  37. Romain C.

    Bonjour je suis actuellement en local moi aussi, et j’ai également un problème au niveau de la redirection. J’ai bien mis le code suivant:
    « add_filter( ‘avatar_defaults’, ‘gravatar_perso’ );
    function gravatar_perso ($avatar_defaults) {
    $myavatar = ‘/images/gravatar/gravatar.jpg’;
    $avatar_defaults[$myavatar] = « Avatar Taniere des Saveurs »;
    return $avatar_defaults; »

    Cela dit quand l’image ne s’affiche pas dans les commentaires car quand je fais clic droit ouvrir l’image dans un nouvel onglet devant mon chemin vers l’image il y a « http://i2.wp.com » suivit par l’adresse exact ou se situe l’image. Lorsque je le supprime l’image existe bien. « http://i2.wp.com/localhost/wordpress/wp-content/themes/theme1767/images/gravatar/gravatar.jpg » Pourquoi ce i2.wp.com apparait ?

  38. Chez moi, le gravatar s’affiche bien dans le back office de WordPress sous l’onglet Réglages / Discussion, mais pas sur les commentaires!

  39. Christelle

    Moi aussi mon mystery man de gravatar est chez wp.com et je n’utilise pas jetpack ou autre plugin si ce n’est buddypress, cela semble par défaut maintenant, non?

Rétrolien pour cet article

  1. L’Hebdo WordPress : BuddyPress – Traduction – Gravatar | WordPress Francophone
  2. Concentré du Web #94
  3. Comment changer les avatars par défaut sur Wordpress? | Geekoriel.net
  4. Comment modifier les avatars personnalisés sous Wordpress | Geekoriel.net

Laisser un commentaire