使用Gravatar头像

此Avatar非阿凡达也,而是通用的头像解决方案。Globally Recognized Avatars。

Gravatar即全球通用头像。这里所说的头像,是用户在论坛、聊天系统、网站或者其它类型的虚拟社区中使用的、与其它用户不同的图标或象征事物。网络头像通常是一个长宽均为80像素的图片,图片内容由用户自行选择。由Tom Werner开发的Gravatar头像系统使用户在所有网站上使用同一个头像成为可能。

日志评论框中的Gravatar头像

Gravatar头像与普通头像几乎没有什么差别,不同的是,所有Gravatar头像都被寄存在一个单独的服务器上,服务器通过调用由MD5算法加密的用户电子邮件地址来帮助获取用户头像。与其在我们常访问的论坛、博客上使用不同的头像,不如注册一个Gravatar头像,在所有网站上使用相同的头像。

要在WordPress中使用Gravatar头像也很容易,可以利用Gravatar WordPress Plugin插件,也可以在index.php, comments.php 以及comments-popup.php模板文件中手动添加Gravatar头像。

 
Gravatar头像的构成

Gravatar头像是从服务器中调用的动态图片资源。下面分片段介绍调用头像时所用的URL地址。URL地址的开始部分是:

http://www.gravatar.com/avatar.php?

紧接着开始部分的是一个强制性参数gravatar_id。参数值即被调用的用户电子邮件地址的十六进制MD5散列表,其中的空格都需要被删除。参数值对大小写不敏感。

gravatar_id=279aa12c3326f87c460aa4f31d18a065

之后是一个可选参数rating,该参数的值可以是G、PG、R或X,这些值决定所返回头像的最高等级。

&rating=R

Gravatar提供不同级别的头像,用户可以自行选择头像级别。

size也是一个可选参数,该参数帮助用户指定Gravatar头像的高度和宽度。size参数值的有效范围是1到80(包括1和80)。如果参数值大于80,原始Gravatar图像会在输出前被缩减取样。

&size=40

在size之后可能是另一个可选参数default。若当前电子邮件地址没有相关联的Gravatar头像,或Gravatar头像级别高于rating参数所规定的头像级别,default参数可规定所返回GIF, JPEG或PNG图片的完全URL、已编码URL以及包含在内的协议。

&default=http%3A%2F%2Fwww.somesite.com%2Fsomeimage.jpg

default之后还有一个可选参数border。border参数规定了覆盖Gravatar头像的1像素边框的十六进制值。参数值可能是六个字符的十六进制字符串(如FF0000表示red),也可能是缩写成三个字符的十六进制字符串(如F00表示red)。

&border=FF0000

在WordPress中使用Gravatar头像

 
自WordPress 2.5起,Gravatar成为WordPress的自带功能,用户无需下载任何插件就可以进行基本使用和管理。

WordPress 2.5在主题开发人员和用户的管理界面中都加入了Gravatar功能。WordPress建议主题开发人员在开发主题时加入Gravatar功能。WordPress用户也可以在管理界面“设置”菜单的“讨论”选项下管理对Gravatar头像的使用。

WordPress用户可以决定:

    是否显示Gravatar头像
    所显示的头像级别

WordPress 2.5主题对Gravatar头像的支持

get_avatar函数可将Gravatar头像添加到主题中。该函数返回Gravatar头像的完整的图片HTML标签。

函数调用方式如下:

  < ?php    echo get_avatar( $id_or_email, $size = '96', $default = '‘ );
   ?>

函数接收的参数包括:

    id_or_email(必需):主题作者的用户ID(整数或字符串),电子邮件地址(字符串)或评论循环中的评论对象。注意:推荐在大多数评论模板中使用$comment,以显示评论者的Gravatar头像。在少数模板中可以用get_the_author_id()。
    size(可选):头像的显示尺寸(最大值为512)
    default(可选):默认Gravatar头像(为没有对应电子邮件地址的评论者所设置的头像)的绝对地址。如果default参数空缺,那么系统会将这个头像将作为默认头像。

下面是一些需要注意的问题:

    如果不用size参数设置头像大小,默认头像大小为96×96
    默认头像类型为Gravatar头像
    只有用户在WP管理面板中激活头像显示选项,头像才能够显示(默认情况下此选项已激活)
    头像只能根据用户在WP管理面板中规定的头像级别进行相应显示

代码输出:

下面列出的是默认输出内容。在img元素中使用多个类,便于我们进行元素设计。


class=’avatar avatar-$size’ height=’$size’ width=’$size’ />

如果由于缺少电子邮件地址(如pingback或trackback),Gravatar头像变成默认头像,无论我们是否指定了默认头像,img元素都会被赋予一个avatar-default CSS类。