为什么要缓存Gravatar头像?
因为Gravatar的服务器在国外,又因为伟大的Wall,在国内访问使用该功能的网站或博客,可能因为载入速度过慢而导致页面一直在载入中甚至头像无法显示,这是一个非常糟糕的用户体验。将头像缓存下来,定时更新,而头像图片的文件一般不会很大,不需要暂用很大的服务器空间,因此缓存Gravatar头像是一个加快网站访问速度的高性价比选择。
如何在WordPress for SAE中缓存Gravatar头像?
很简单,在所使用的主题的function.php文件中加入以下代码,不破坏原文件结构即可:
[cc lang=”php”]
function get_avatar_cache($avatar){
if(SERVER[PHPSELF]==/wpadmin/optionsdiscussion.php)returnavatar;
s=newSaeStorage();tmp = strpos(avatar,avatar/)+7;avatar_id = substr(avatar,tmp, strpos(avatar,?)tmp);
tmp=strpos(avatar, ‘avatar/’) + 7;
$pattern = “/(
// ‘;
if(!s>fileExists(wordpress,avatar_file)){
content=@filegetcontents(avatar_url);
if(!content)returnavatar;
attr=array(expires=>nowplus14day);result = s>write(wordpress,avatar_file, content,1,attr);
if (result!=true)vardump(s->errno(), Extra close brace or missing open braceavatar = preg_replace(pattern,1” . s>getUrl(wordpress,avatar_file) . “3,avatar);
return $avatar;
}

add_filter(‘get_avatar’, ‘get_avatar_cache’);
[/cc]
转载自:http://sypopo.com/video/2374.html | 水缘泡泡博客

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注