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