Building Gravatar Code

时间:2011-08-01 作者:David Law

出于SEO原因,我正在为一个主题构建Gravatar代码,基本上不喜欢默认的WordPress Gravatar代码,因为对于每个化身,它会向页面添加一个图像,而没有alt文本,这可能会对SEO产生负面影响。相反,使用图像作为背景图像不会对SEO产生影响。

让代码工作,但不要与神秘人或空白设置。

查看/wp包括/可插拔。php并在1712行附近发现了问题,这是神秘人代码,基本上使用了一个Gravatar图像(此图像http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536) 适用于所有神秘人头像,除非该人设置了自定义坟墓。与空白类似的想法。

修复空白很容易,但到目前为止,我所想到的意味着当神秘人被选中时,自定义雕刻器(用户选择的)不起作用。对于下面的代码,始终使用默认的神秘人图像。我查看了WordPress Gravatar代码,不知道自定义Gravatar是如何选择的?

<?php /*echo get_avatar($comment, 60);*/
$email = $comment->comment_author_email;
$size = 60;
$rating = get_option(\'avatar_rating\');
$gravtype = get_option(\'avatar_default\');
if ($gravtype==\'mystery\')
$grav_url = "http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=" . $size ."&amp;d=" . $gravtype ."&amp;r=". $rating;
elseif ($gravtype==\'blank\')
$grav_url = "/wp-includes/images/blank.gif";
else 
$grav_url = "http://0.gravatar.com/avatar/" . md5($email) . "?s=" . $size ."&amp;d=" . $gravtype ."&amp;r=". $rating;
?>
<div class="gravatars" style="background: url(<?php echo $grav_url ?>)"></div>
谢谢

大卫

更新:已解决

由于Bainernet建议使用下面的代码,到目前为止apears仍在工作(尚未进行扩展测试):

<?php /*echo get_avatar($comment, 60);*/
$email = $comment->comment_author_email;
$size = 60;
$rating = get_option(\'avatar_rating\');
$gravtype = get_option(\'avatar_default\');
$default = urlencode( \'http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=\' . $size );
if ($gravtype==\'mystery\')
$grav_url = \'http://www.gravatar.com/avatar/\'. md5( strtolower( trim( $email ) ) ). \'?s=\' . $size . \'&r=\' . $rating . \'&d=\' . $default;
elseif ($gravtype==\'blank\')
$grav_url = "/wp-includes/images/blank.gif";
else 
$grav_url = "http://0.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?s=" . $size ."&amp;d=" . $gravtype ."&amp;r=". $rating;
?>
<div class="gravatars" style="background: url(<?php echo $grav_url ?>)"></div>
大卫

1 个回复
SO网友:Bainternet

如果你看看Gravatar API 您将看到,您可以调用特定于用户的并指定默认值,因此这里提供了一种在代码中获取图像url的内置验证方法。

$email = $comment->comment_author_email;
$size = 60;
$rating = get_option(\'avatar_rating\');
$default = urlencode( \'http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=\' . $size );
$grav_url = \'http://www.gravatar.com/avatar/\'. md5( strtolower( trim( $email ) ) ). \'?s=\' . $size . \'&r=\' . $rating . \'&d=\' . $default;
?>
<div class="gravatars" style="background: url(<?php echo $grav_url ?>)"></div>
而且您不需要条件检查。

结束

相关推荐

How do I accesss gravatar?

在你的档案下的政府里,我怀疑这会发生,我找不到任何与gravatar有关的东西