外头站着
30
7 月

如何获取 Gravatars 头像的路径

什么是 Gravatar

Gravatar 是 Globally Recognized Avatars (地球人公认的阿凡达)
可以去 http://gravatar.com/ 关联你的 Email 和头像
这样子在任何启用 Gravatar 的博客留言,即可显示对应的头像
例如 i(a)ooxx.me 对应的是 bigCat

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://bigc.at/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";
?>

挨吻老湿就是这么写再结合jQuery 配合 CSS3 搞图片圆角来输出头像滴
点这里看

yeah, bigCat made it!

» You can leave a comment, or trackback from your own site.

大战 53 回合 to “如何获取 Gravatars 头像的路径”

  1. whatUwant说道:

    能举报楼上的吗。。。 😆

  2. trylife说道:

    😆 😛 😡 👿 😈 这些表情都是啥意思~~

  3. 卡巴飞机说道:

    💡 😈 叫兽

  4. finvola说道:

    @祛痘产品排行榜, 哟传说中的垃圾留言拦截器失效了哟

  5. MOPVHS说道:

    😮 大猫老师V5~~~~、

    用头像缓存的飘过…

  6. hzlzh说道:

    现在就缺动态的Avatar,我的twitter都能都能动了,应该是gif不好resize导致的

    • bigCat说道:

      @hzlzh, gif的体积也是个问题… 我可不想被拖慢速度…

      • hzlzh说道:

        @bigCat, 那就缓存之,神一般的加载速度

      • bigCat说道:

        @hzlzh, 呃,我担心的不是dns查询时间,也不是http 请求数 是体积,一般GIF都比较大
        服务器端缓存解决的问题就是DNS查询问题而已,因为主机都在国外,搞不好还没gravatar的线路速度快

  7. mice说道:

    我勒个去…沙发什么都没了..

  8. A.shun说道:

    把Gravatars缓存到自己服务器的路过 😉

    这的圆角样式真好看 ❗

  9. 威震天说道:

    嘿嘿 技术文

  10. meters说道:

    从这儿过去,发现ivane好久都没更新过日志了…
    学习啦… 😆

  11. trylife说道:

    我勒个去表情变了

  12. […] This post was mentioned on Twitter by Carrie, 晓墨墨. 晓墨墨 said: 如何获取 Gravatars 头像的路径… http://is.gd/dUwKq […]

  13. belts说道:

    飘来飘去的,看看

  14. sunglasses说道:

    弄个变形金刚,哈哈

  15. Kimcool说道:

    没有实际意义,意淫下。

  16. chisdy说道:

    原来还有这么多设置的,外行看热闹了

  17. 非主流说道:

    好多设置啊

  18. max说道:

    弄个哈里波特,呵呵

  19. WordPress啦说道:

    呵呵,这些咱只知道用,

  20. zhy说道:

    好文章要收藏 😆

Leave a Reply

:!: :roll: :o :lol: :P :( 8O :x :oops: :) :?: :idea: :evil: ;) :twisted: