web-dev-qa-db-fra.com

Comment obtenir l'url de gravatar seul

Je voudrais utiliser l'image gravatar comme image d'arrière-plan pour un bouton. Lorsque j'utilise la fonction get_avatar, elle retourne avec les paramètres height, width src.

Mais je n'ai besoin que de l'URL de gravatar. Je veux dire comme http://gravatar.com/.../...

Quelqu'un peut-il me dire comment? Merci

2
Giri

Générez simplement l'URL vous-même. C'est juste un hachage de l'adresse email de l'utilisateur.

function get_gravatar_url( $email ) {
    $hash = md5( strtolower( trim ( $email ) ) );
    return 'http://gravatar.com/avatar/' . $hash;
}

Cette fonction nécessite que vous transmettiez l'adresse de messagerie de l'utilisateur ... mais vous pouvez faire tout ce dont vous avez besoin pour saisir par programme l'adresse de l'utilisateur.

5
EAMann

Regardez comment cela est implémenté ici:

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/pluggable.php#L1578

En outre, consultez la très simple API Gravatar:

http://fr.gravatar.com/site/implement/images/

Vous pouvez essayer de lier le filtre get_avatar et le preg_match au 'src' comme suit:

add_filter( 'get_avatar', function( $avatar ) {
    if ( preg_match( '# src=\'(.*)\' #U', $avatar, $matches ) )
        $some_globally_accessible_var = $matches[1];
    return $avatar;
} );

Le some_globally_accessible_var serait une variable d'instance ou une variable statique, globale.

2
soulseekah