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 :
- 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 ;
- 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.
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 :
Un exemple de gravatar sur-mesure
Plus d’excuses pour ne pas personnaliser les gravatars de votre site WordPress !
Crédits photo : Ddesign
Podcast: Télécharger (Durée: 4:26 — 227.0MB)







Une façon propre de le faire.
– 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
J’en ai une autre pour les fainéants
Merci Aurélien
Merci pour cette astuce. Je vais de ce pas la mettre en pratique.
Excellent ! Quand on aime personnaliser à fond, on doit passer par ça !
Merci
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
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.
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…
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
C’est fou la créativité qu’il faut développer pour contrer ces p@ de machines
Bon, qui d’autre a testé aussi ?
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.
Exact, je sais que tu recherches toujours l’optimisation des performances et il est important de le souligner.
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
Bonjour et merci pour ce tuto. Une question cependant: à quel endroit doit-on placer le code dans functions.php?
Cela n’a pas vraiment d’importance. Il faut juste faire en sorte que les lignes de code soit placées entre des balises PHP.
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
Ce sont souvent ces détails qui, quand ils s’accumulent, font la différence. Merci pour cette astuce sympathique !
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
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
Merci de partager ton fichier functions.php via un service comme pastebin sinon on ne pourra voir ton code correctement.
J’ai testé sous 3.4.1 et ça fonctionne…
J’ai déjà demandé de partager, mais sans succès :/
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.
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’;
Trouvé, j’avais pas mis l’image au bon endroit, il faut la mettre dans initiales.content (Wp-content/themes/nomdutheme/images)
Exactement l’image doit être placé dans le dossier /images ou autre du thème. Je pense que je vais faire un podcast vidéo pour expliquer le tutoriel.
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
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
!
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.
Pourquoi ne pas reprendre le code à l’identique en envoyant l’image dans le dossier /images du thème ? Cela doit fonctionner.
C’est ce que j’ai fait mais ça ne fonctionne pas, peut être à cause de mon thème enfant.
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,
Ç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 !
Si vous avez coché le nouvel avatar dans l’admin, il faut vider le cache navigateur pour voir apparaître les nouveaux avatars.
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!
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
?
Allez, j’ai envie de comprendre ce bug que plusieurs personnes ont. Si tu me pretes un acces admin et/ou FTP, je regarde ça de plus pret …
julio@boiteaweb.fr
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.
#plugin ?
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 ?
Moi ^^
Merci beaucoup,
ça a bien fonctionné pour moi !
Bonjour,
question bête, il y a une taille ou résolution à ne pas dépasser pour l’image gravatar?
Merci
La résolution maximale est fixée à 2048px… à condition que l’utilisateur est envoyé une image d’une telle taille.
template_directory c’est pour le thème parent mais si on utilise un thème enfant, stylesheet_directory?
Oui !
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 ?
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 !
Si ça doit fonctionner, j’utilise moi-même cette astuce pour la dernière version de WordPress !
Écoute ce serait pas du au thème par hasard ? En l’occurrence j’utilise Twenty Eleven !
Avant ce site tournait sous Twenty Eleven et c’était OK… sans doute
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
Renvoies la version précédente du fichier ou supprimes les lignes de code ajoutées et tout devrait rentrer dans l’ordre.
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
Non pas d’idée…
Il est où mon commentaire ???
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.. ; )
Sans doute un problème de configuration local… je ne peux pas regarder le code et vérifier les URLs.
Un grand merci pour ce petit article, ca marche au poil
Merci pour l’explication, simple, rapide et efficace !
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 ?
Tout simplement par que vous utilisez Jetpack avec le module Photon (CDN) activé.
Chez moi, le gravatar s’affiche bien dans le back office de WordPress sous l’onglet Réglages / Discussion, mais pas sur les commentaires!
A voir du côté du thème…
C’est-à-dire ? Qu’est-ce que je dois regarder dans le thème ?
(désolé mais je suis assez novice)
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?