如何获取 Gravatars 头像的路径(转)
什么是 Gravatar
Gravatar 是 Globally Recognized Avatars (地球人公认的阿凡达)
可以去 http://gravatar.com/ 关联你的 Email 和头像
这样子在任何启用 Gravatar 的博客留言,即可显示对应的头像
例如 i(a)ooxx.me 对应的是
Gravatar 是如何构建滴
一个 Gravatar 是服务器动态返回的图片,下面是一坨 src 图片地址
http://www.gravatar.com/avatar/ddb61c44b09ee3e8cb2700249ec9eac7&r=X&s=80
我们来肢解一下
Gravatar 总是以如下URL开头
http://www.gravatar.com/avatar/
接下去是 E-mail 对应的 Hash 结果, 这 E-mail 地址在 hash 之前必须要小写,并且要木有空格
ddb61c44b09ee3e8cb2700249ec9eac7
然后是 rating 分级, 有[ G | PG | R | X ] 4档
(在网站设置头像的时候会让你分级,建议选G)
越X的头像越不和谐,用专业的英语就叫 hardcore sexual
网址里这个分级设置的是容许最极端的那档
例如网址设置容许G,那么只有G的头像会显示
容许PG 会显示 G 和 PG
容许X 会显示 G 和 PG 和 R 和 X
&r=X
最后是 size 图像尺寸 , 有效范围是1到512
&s=80
还有一坨可选的默认头像地址,就是说如果email找不到对应的头像了或者不在分级范围内,就用这张默认图
可选参数为
* ’404′ (返回 a 404)
* ‘mm’ (mysteryman)
* ‘identicon’ (unique, generated image)
* ‘monsterid’ (unique, generated image)
* ‘wavatar’ (unique, generated image)
都是些奇形怪状的丑图,建议自定义一张拉轰的(http://ooxx.me/me.jpg)
&d=http%3A%2F%2Fooxx.me%2Fme.jpg
那么在主题里调用 Gravatar 就很简单的用
<?php
echo get_avatar(i@ooxx.me,50);
?>
这里的邮件地址可以用 get_the_author_meta(‘user_email’) 获取本文作者的email
如果用在评论循环里,可以用 get_comment_author_email() 获取当前循环里的email
记得小写哦 strtolower(get_comment_author_email()) 会自动转为小写
记得MD5哦 md5(strtolower(get_comment_author_email())) 会进行 hash
加起来就是
<?php
echo get_avatar(md5(strtolower(get_comment_author_email())),50);
?>
会吐出来
<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />
不幸的是get_avatar()默认吐img标签
幸运的是如果只要src值,可以这么写
<?php
echo "http://www.gravatar.com/avatar/".md5(strtolower(get_comment_author_email()))."&r=X&s=80";
?>
以上内容引用自大猫老师:http://ooxx.me/get_avatar_src.orz
WordPress官网对Gravatar的介绍:Using Gravatars
======================华丽的分割线====================
PS: get_avatar()函数实际有四个参数(参见wp-includes\pluggable.php),所以使用的时候是可以自定义alt属性的
function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false )

噢NO,来看看新东西,我头像是个女的噢 嘻嘻
空间好了 有时间去看看噢
@立青 头像符合实际那我就100个荣幸了
——话说你那留言簿还是404,相册还是error,音乐还是真相不明啊
@竹下无为梦 恩,转过来以后备用,其实还是挺简单的
这个还是非常有用的说~~已经用上一段时间了感觉不错!
现在gravatar头像服务器多了,0、1这些都可以替代www的。gravatar真是个好东西。
@朵未 嗯,对的,这篇文章说的都不全面了,还是get_avatar()函数比较好用
我照着这个方法去弄了一下,还真是可以的呢。不过,不想到处都用,我怕某天我被和谐了。
俺博客已經啟用頭像緩存了,沒辦法啊,就天朝著網絡環境。奇怪我怎麼輸入的是繁體
@向晚 缓存到国外主机的可能还没gravatar官方的快,国内主机缓存下倒是有效果,但是对于新出现的头像好像会出现很大延迟——所以说,现在不少人不用头像缓存了。。不过我现在还用着
我就是国外的主机啊 比官方的快多了。 延迟?