什么是Gravatar?
Gravatar是Globally Recognized Avatar的缩写,是gravatar推出的一项服务,意为“全球通用头像”。如果在Gravatar的服务器上放置了你自己的头像,那么在任何支持Gravatar的blog或者留言本上留言时,只要提供你与这个头像关联的email地址,就能够显示出你的Gravatar头像来。
如何申请Gravatar?
- 登陆http://en.gravatar.com/site/signup,填写注册邮箱之后,点击”Signup”按钮;
- 到注册的邮箱中查收邮件并点击其中的链接确认;
- 在弹出页面中填写相关内容;
- 点击页面中部框框下的链接”Add one by clicking here!”;
- 如果要从自己的本地硬盘上传一张头像,那就点击第一个链接”My computer’s hard drive”上传头像;
- 进入Crop页面,滑动滑块选择你需要的照片区域后点击页面下部的”CROP”按钮;
- 给自己的头像评定级别。G 普通级、PG 辅导级、R 和 X 为限制级,一般不黄不暴力的选G就行了;
- 点击页面中的头像照片,在弹出的小页面里点击”Confirm”钮确认;
- 到支持Gravatar头像功能的网站,输入申请头像时的邮箱发表评论试试吧。
- 想更改头像的话只需要到http://en.gravatar.com/网站,登陆后修改即可。
为什么要缓存Gravatar头像?
因为Gravatar的服务器在国外,又因为伟大的Wall,在国内访问使用该功能的网站或博客,可能因为载入速度过慢而导致页面一直在载入中甚至头像无法显示,这是一个非常糟糕的用户体验。将头像缓存下来,定时更新,而头像图片的文件一般不会很大,不需要暂用很大的服务器空间,因此缓存Gravatar头像是一个加快网站访问速度的高性价比选择。
如何在WordPress for SAE中缓存Gravatar头像?
很简单,在所使用的主题的function.php文件中加入以下代码,不破坏原文件结构即可:
/*
* Save avatar image to SAE Storage
* @Version: 1.2
* @author Chang
* @blog http://lanfei.sinaapp.com/
*/
function get_avatar_cache($avatar){
if($_SERVER['PHP_SELF'] == '/wp-admin/options-discussion.php')
return $avatar;
$s = new SaeStorage();
$tmp = strpos($avatar, 'avatar/') + 7;
$avatar_id = substr($avatar, $tmp, strpos($avatar, '?') - $tmp);
$tmp = strpos($avatar, 'avatar/') + 7;
$pattern = "/(<img.* src=\')([^\']*)(\'.*)/";
$avatar_url = preg_replace($pattern, "$2", $avatar);
$avatar_url = str_replace("&", "&", $avatar_url);
$avatar_file = 'avatars/' . $avatar_id . '.png';
//echo '<!--' . $avatar_url . '-->
// <!--' . $s->getUrl('wordpress', $avatar_file) . '-->';
if(!$s->fileExists('wordpress', $avatar_file)){
$content = @file_get_contents($avatar_url);
if(!$content)
return $avatar;
$attr = array('expires' => 'now plus 14 day');
$result = $s->write('wordpress', $avatar_file, $content, -1, $attr);
if ($result != true)
var_dump($s->errno(), $s->errmsg());
}
$avatar = preg_replace($pattern, "$1" . $s->getUrl('wordpress', $avatar_file) . "$3", $avatar);
return $avatar;
}
add_filter('get_avatar', 'get_avatar_cache');
What's New?
- 修正了后台讨论页面头像无法显示的错误;
- 防止获取Gravatar头像失败时出现Warning,影响界面美观。
=======================签 名 档=======================
原文地址(我的博客):http://www.clanfei.com/2012/04/565.html
欢迎访问交流,至于我为什么要多弄一个博客,因为我热爱前端,热爱网页,我更希望有一个更加自由、真正属于我自己的小站,或许并不是那么有名气,但至少能够让我为了它而加倍努力。。
=======================签 名 档=======================
分享到:
相关推荐
前几天发布的ASP嵌入Gravatar头像应用演示及下载很多人试用反馈说还可以,老七对Gravatar进阶研究了一下,然后写了这篇ASP缓存Gravatar头像的实例,有需要的朋友可以下载随便用,转载请链接本文地址,谢谢!
ASP源码,压缩包解压密码:www.cqlsoft.com
WordPress gravatar头像缓存插件 插件简介:每次打开博客时都要从国外Gravatar官方网站下载头像,必然让博客的加载速度有所减慢,如果把Gravatar头像缓存到本地服务器,visitors浏览器你的博客时,页面加载速度会...
ASP实例开发源码—ASP缓存Gravatar头像实例演示 v1.0.zip ASP实例开发源码—ASP缓存Gravatar头像实例演示 v1.0.zip ASP实例开发源码—ASP缓存Gravatar头像实例演示 v1.0.zip
ASP源码—缓存Gravatar头像实例演示 v1.0.zip
基于ASP的缓存Gravatar头像实例演示 v1.0.zip
Gravatar头像服务部分被和谐了,给使用WordPress的朋友带来了不便,笔者做了一个WordPress插件,能解决WordPress 3.0以上版本头像无法显示的问题。 Gravatar部分服务器在国内访问困难,原因是Gravatar所使用的...
主要介绍了WordPress中Gravatar头像缓存到本地及优化的技巧,需要的朋友可以参考下
WordPress中内置了Gravatar头像,网上也没看到ASP的相关代码,但是很多BLOG和个人网站还是ASP的,老七就是其中一个。(Gravatar是什么?) 研究了一下,然后写了一个ASP嵌入Gravatar头像实例,有需要的朋友可以下载...
wordpress评论中的头像是使用Gravatar的头像服务(Gravatar官方注册地址:http://en.gravatar.com),用户的缓存头像一般都是固定不变的,所以我们可以将头像缓存到本地来提高我们网站的访问速度。 我的wordpress ...
ASP实例开发源码—ASP嵌入Gravatar头像应用代码 v1.0.zip ASP实例开发源码—ASP嵌入Gravatar头像应用代码 v1.0.zip ASP实例开发源码—ASP嵌入Gravatar头像应用代码 v1.0.zip
WordPress默认的头像是读取gravatar.com上的图片的,对于国内用户来说会使网页打开速度变慢。所以我决定删除掉这块功能。 修改get_avatar函数,在wp-includes/pluggable.php内。修改后的函数如下: 复制代码代码...
ASP源码—嵌入Gravatar头像应用代码 v1.0.zip
基于ASP的嵌入Gravatar头像应用代码 v1.0.zip
Gravatar是一图像跟随著您到访过的网站,当您在博客中留言或发表文章,它将会出现在您的名称旁。下面这篇文章主要给大家介绍了关于利用Laravel如何生成 Gravatar 头像地址的优雅方法,需要的朋友可以参考下。
WordPress默认采用的是Gravatar头像,但很多人可能没有设置Gravatar头像,因此只能显示出替换的头像。本插件就是将无头像用户的头像显示成动态生成的昵称首字符头像。 说到字母头像,实际上之前已有多种方案。本...
emlog添加功能-日志分享,评论gravatar头像,快捷回复修改方法,需要的朋友可以参考下。