简单实现Gravatar 头像本地服务器缓存

/ 17评 / 13

         Gravatar 头像缓存的问题一直困扰着启用了Gravatar 头像的博主们,都希望把Gravatar 头像缓存在本地服务器,才不会在调用Gravatar 头像的读者墙那样,一打开就像放电影一样一个个的加载,这可怎么能受得了。怎么才能简单实现Gravatar 头像缓存呢,参照网上方法自己DIY代码吧,又太繁琐了——爱折腾的会很乐意。

还是推荐一个插件吧:mini-gravatar-cache(点击下载)
然后上传到主题plugins
最后在后台启用就OK,就这么简单。

function get_avatar_wcache(imgc) {
 
ava_time = 1209600;
 ava_dir_abs = ABSPATH.'wp-content/plugins/mini-gravatar-cache/iava/';
 
ava_dir_url = get_bloginfo('wpurl').'/wp-content/plugins/mini-gravatar-cache/iava/';
 preg_match('/avatar\/([a-z0-9]+)\?s=(\d+)/',imgc,imgc_md5);
 ava_mail_md5 =imgc_md5[1];
 size =imgc_md5[2];
 ava_img_abs =ava_dir_abs.ava_mail_md5.'.jpg';
 
ava_img_url = ava_dir_url.ava_mail_md5.'.jpg';
 ava_default =ava_dir_url.'default.jpg';
 if (!is_file(ava_img_abs)||(time()-filemtime(ava_img_abs))>ava_time){
  
ava_get_url = 'http://www.gravatar.com/avatar/'.ava_mail_md5.'?s=48&d='.ava_default.'&r=G';
  copy(ava_get_url,ava_img_abs);
 }
 if (filesize(ava_img_abs)<500) {
  copy(
ava_default,ava_img_abs);
 }
 return '<img src="'.
ava_img_url.'" width="'.size.'" height="'.size.'" />';
}
add_filter('get_avatar','get_avatar_wcache');

这就是整个插件的代码,解释下:

原理很简单,想DIY的就自己在上面DIY吧~不想的就直接用吧~

  1. dengmin说道:

    有些人博客上启用缓存后头像都变得很模糊

  2. C瓜哥说道:

    支持WP3.0不?

  3. 迎接说道:

    安装成功,激活的时候,显示:插件的头部错误。

  4. 诸葛小小说道:

    用了感觉服务器 被拖累了。。。

    头像放gravatar那里,速度还是挺快的

    插件禁用了。

  5. 朵未说道:

    我也用了一个插件,是荒野无灯的,不过貌似这个小点。

    • hesiway说道:

      @朵未 @朵未, 这个真的很小,而且不用修改啥~方便多了~ :嘻:

  6. ugotta说道:

    没必要吧,觉得挺快的还是,,, :纠结:

  7. 海建.李说道:

    飘过-.-!

  8. 灵亦rEd说道:

    :纠结: :纠结:

  9. 学夫子说道:

    emlog,应该都是一样的原理

Comments have been closed.