Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I would like to use gravatar image as background image for a button. When i use get_avatar function it returns with height width src parameters.

But i need only gravatar url. I mean like http://gravatar.com/.../...

Can anyone tell me how? Thanks

share|improve this question
add comment

2 Answers 2

up vote 2 down vote accepted

Just generate the URL yourself. It's just a hash of the user's email address.

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

This function requires that you pass the user's email address in ... but you could do anything you need to programatically grab the user's address.

share|improve this answer
add comment

Look at how it is implemented here:

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

Additionally check out the very simple Gravatar API:

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

You can try to hook into the get_avatar filter and preg_match against the 'src' like so:

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

The some_globally_accessible_var would be an instance variable or some static variable, global.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.