Revision: 44662
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 15, 2011 13:31 by camdagr8
Initial Code
function get_avatar_url($id_or_email, $size = '96', $default = '', $alt = false) {
if (! get_option('show_avatars')) { return false; }
if (false === $alt) { $safe_alt = ''; }
else { $safe_alt = esc_attr($alt); }
if (!is_numeric($size)) { $size = '96'; }
$email = '';
if (is_numeric($id_or_email)) {
$id = (int) $id_or_email;
$user = get_userdata($id);
if ($user) { $email = $user->user_email; }
}
elseif (is_object($id_or_email)) {
// No avatar for pingbacks or trackbacks
$allowed_comment_types = apply_filters('get_avatar_comment_types', array( 'comment'));
if (!empty($id_or_email->comment_type) && ! in_array($id_or_email->comment_type, (array) $allowed_comment_types)) { return false; }
if (!empty($id_or_email->user_id)) {
$id = (int) $id_or_email->user_id;
$user = get_userdata($id);
if ($user) { $email = $user->user_email; }
}
elseif ( !empty($id_or_email->comment_author_email) ) { $email = $id_or_email->comment_author_email; }
}
else { $email = $id_or_email; }
if (empty($default)) {
$avatar_default = get_option('avatar_default');
if (empty($avatar_default)) { $default = 'mystery'; }
else { $default = $avatar_default; }
}
if (!empty($email)) { $email_hash = md5(strtolower($email)); }
if (is_ssl()) { $host = 'https://secure.gravatar.com'; }
else {
if (!empty($email)) { $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) ); }
else { $host = 'http://0.gravatar.com'; }
}
if ('mystery' == $default) {
$default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('[email protected]')
}
elseif ('blank' == $default) { $default = includes_url('images/blank.gif'); }
elseif (!empty($email) && 'gravatar_default' == $default) { $default = ''; }
elseif ('gravatar_default' == $default) { $default = "$host/avatar/s={$size}"; }
elseif (empty($email)) { $default = "$host/avatar/?d=$default&s={$size}"; }
elseif (strpos($default, 'http://') === 0) { $default = add_query_arg('s', $size, $default); }
if (!empty($email)) {
$out = "$host/avatar/";
$out .= $email_hash;
$out .= '?s='.$size;
$out .= '&d=' . urlencode($default);
$rating = get_option('avatar_rating');
if (!empty($rating)) { $out .= "&r={$rating}"; }
//$avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
$avatar = $out;
}
else {
//$avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
$avatar = $default;
}
return $avatar;
}
Initial URL
Initial Description
I pinched the get_avatar() function from the wp/wp-includes/pluggable.php file and commented out the setting of the avatar as an <img> tag and returned the actual image url instead.
Initial Title
Wordpress avatar url
Initial Tags
url, wordpress
Initial Language
PHP