Après avoir vainement essayé d'intégrer un Plugin trouvé dans le fin fond du web afin d'afficher les Gravatars sur mon Blog, je me suis tournée vers la solution de prendreuncafe.com disponible ici : prendreuncafe.com.

Logo Gravatar

Voici la procédure à effectuer :

Dans le répertoire racine de votre thème actuel, créez un fichier _public.php et insérez-y le code suivant :

<?php
$core->tpl->addValue('gravatar', array('gravatar', 'tplGravatar'));
 
class gravatar {
 
  const
    URLBASE = 'http://www.gravatar.com/avatar.php?gravatar_id=%s&amp;default=%s&amp;size=%d',
    HTMLTAG = '<img src="%s" class="%s" alt="%s" />',
    DEFAULT_SIZE = '40',
    DEFAULT_CLASS = 'gravatar_img',
    DEFAULT_ALT = 'Gravatar de %s';
 
  public static function tplGravatar($attr)
  {
    $md5mail = '\'.md5(strtolower($_ctx->comments->getEmail(false))).\'';
    $size    = array_key_exists('size',   $attr) ? $attr['size']   : self::DEFAULT_SIZE;
    $class   = array_key_exists('class',  $attr) ? $attr['class']  : self::DEFAULT_CLASS;
    $alttxt  = array_key_exists('alt',    $attr) ? $attr['alt']    : self::DEFAULT_ALT;
    $altimg  = array_key_exists('altimg', $attr) ? $attr['altimg'] : '';
    $gurl    = sprintf(self::URLBASE,
                       $md5mail, urlencode($altimg), $size);
    $gtag    = sprintf(self::HTMLTAG,
                       $gurl, $class, eregi("%s", $alttxt) ?
                                      sprintf($alttxt, '\'.$_ctx->comments->comment_author.\'') : $alttxt);
    return '<?php echo \'' . $gtag . '\'; ?>';
  }
 
}
?>

Rendez-vous ensuite dans le squelette de votre choix (en général : post.html), et insérez-y le code suivant entre vos balises <tpl:Comments> et </tpl:Comments> :

{{tpl:gravatar class="CLASSE" size="TAILLE" altimg="URL_DEFAUT" alt="Gravatar de %s"}}

Il vous faut donc remplacer :

  • CLASSE par le nom de la classe affectée à l'image
  • TAILLE par la taille du Gravatar en px
  • URL_DEFAUT par le chemin d'accès à votre avatar par défaut (dans le cas d'utilisateurs ne possédant pas de gravatar)