gravatar头像缓存插件——Hacklog Gravatar Cache 2.3.4 正式版发布

插件特点

以前我一直是用的Scott Yang 的一个gravatar缓存脚本(@url http://fucoder.com/code/gravatar-cache/)
不过觉得此脚本还是有一些限制,如不能根据参数生成不同尺寸大小的头像缓存。
这次的Hacklog Gravatar Cache ,主要有以下特点:

1.支持使用cookie-free domain,加速缓存头像显示(也可以选择使用默认的域名)
2.可根据传递的参数缓存各种尺寸大小的头像,简而言之,显示头像再也不用靠浏览器缩放图片了,要显示多大的图片,就给你多大的图片。这样亦能加速头像的显示(相对于要scale图像的情况而言)。
3.头像的缓存处理仅使用一个独立的php文件,无需加载wp环境,给wp减轻负担,高效快速。
4.可以通过访问url后加&purge清空个别头像的缓存(评论者若发现自己头像不对可自行更新缓存)
5.增加了后台配置,方便操作
6.当插件设置的默认头像为空时,自动使用在WP后台设置的默认头像。否则,使用插件设定的默认头像。

为什么要使用Cookie-free Domains?,见这里:
Use Cookie-free Domains for Components

change log

2.3.4
增加在清空avatar目录下的头像缓存的同时,清空缓存的默认头像。

2.3.3
改进了对默认头像的处理方式。当插件设置的默认头像为空时,自动使用在WP后台设置的默认头像。否则,使用插件设定的默认头像。
2.3.2
后台增加清空所有缓存操作
2.3.1
完善清除缓存的功能(对每个子目录下面的同hash头像都进行清除)


让头像使用独立域名(cookie-free domain)的方法

例如,将 /var/www/path-to-static 绑定到 static.ihacklog.com
使用 /var/www/path-to-static/gravatar_cache 目录存储头像

然后到后台修改配置,以上述情况为例:

1
2
//缓存目录 /var/www/path-to-static/gravatar_cache/
//缓存URL http://static.ihacklog.com/gravatar_cache/

注意都要最后以/ 结尾。
如图:

目前我自己在使用。


如果独立的头像站点与wp程序不在同一服务器上,那么,只需要手动修改插件目录下面的config.php,文件中每个选项对应在wp后台插件配置面的内容。很容易理解的,这里就不解释了。修改好后,把 config.php , .htaccess 和 cache.php 三个文件从服务器上下载下来,并上传到相应的头像服务器上。(注意,.htaccess文件的内容要根据实际情况稍微修改一下)

插件下载

hacklog-gravatar-cache-v2.3.4.zip (75.4 KB)

更多
35 Responses Post a comment
  1. 歌特兰

    Hacklog Gravatar 使用了怎么还是不显示

  2. 何朝城

    其实WordPress博客用户可以将下面代码添加到当前主题的functions.php文件中就可解决Gravatar头像不显示问题。

    1
    2
    3
    4
    5
    6
    //=== Gravatar头像缓存 ===//
    function gravatar_cache($avatar){
    $avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.hechaocheng.cn",$avatar );
    $avatar = preg_replace( "/\?s\=/",".png?s=",$avatar );
    return $avatar;}
    add_filter( 'get_avatar', 'gravatar_cache' );
  3. 荒野无灯

    @Copriwolf
    可能跟你主题的CSS有些地方那个了。还有,请不要随便在别的插件的页面提关于其它插件的问题。相应插件的问题请到对应插件页面提交。

  4. Copriwolf

    您好,我很喜欢您的下载插件,但是请问这里怎么设置呢,它的图标都缩上去变成2行了!
    如图:

  5. maie

    新人,安装失败,不显示头像,不能缓存头像。不知道cookie-free domain需要如何设置

  6. keke

    不好意思,好像我刷新一下,好了

  7. 荒野无灯

    我回答下吧:
    问题1: 图片文件扩展名不需要。
    问题2:那串默认url 是由你的主题或者其它插件导致的,此插件只是做好它自己的工作。建议你用emeditor 或vim 搜索下你的所有主题或插件目录中的php文件,查找关键词为:

    avatar_defaults
    get_avatar

    抱歉,时间有限,要手把手教真是没时间了。

  8. keke

    谢谢博主分享好东西,正在使用,不过貌似图片都没有扩展名,还有问一下楼主一个小问题,我以前用过一款别人的主题,发现我现在用了你的插件后,看Gravatar头像地址不是头像直接的地址,后面还连着一串带以前主题的网址,我删除了主题,但后面还是有那串网址,虽然,问题不大,但看着不舒服,不知道博主能不能帮帮忙看一下,怎么解决

  9. wedll

    用上了, 无灯兄 幸苦了!

  10. ATTO

    刚在gravatar弄了个头像,评论个试下~看看有木有用

  11. wedll

    我的博客 流量很少 有个人留言真的是如获至宝 所以真是舍不得 在头像方面限制 ,无灯兄有空 一定帮忙修复一下这个问题,拜托拜托!

  12. 荒野无灯

    这个有时间会修复的。一般来说没有头像的还是很少的(我博客没头像是不允许评论的)。

  13. wedll

    无灯兄 我在后台讨论设置里设置的默认头像是神秘人 但是插件的功能好像和他冲突 页面显示的是插件定义的默认头像 而每次显示头像都是302重定向 很托速度 我就很为难了 有gravatar头像速度 确实提高了 但是没有的 反而变慢了 请问有什么好办法解决吗?

  14. 荒野无灯

    这不是插件的问题,而是你主题本身调用时加的参数吧?
    你的链接之所以这么长,是加了一个参数,这个参数决定在找不到用户头像时显示哪个默认头像。

  15. gaoqi

    感谢博主开发这款插件,使用后速度有了明显提升。就是有个问题,缓存后头像地址会变的很长,
    格式如下:
    http://localhost/wp-content/gravatar_cache/d8200fa4c848efafa319995065c3d5c0?size=30&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D30&r=G
    看了你这边的评论头像没有这么长的后缀,请教如何设置能把后面的长后缀去掉?

  16. 飓风

    请问一下 博主
    你这篇文章开始 文章标题的定位 是怎么做的是用的插件还是自己写的代码 希望指教一下 谢谢

    插件特点
    让头像使用独立域名(cookie-free domain)的方法
    插件下载

  17. ezencart

    突然缓存头像都不显示了,不知道怎么回事? 请教下直接清空掉缓存头像,让他在重新生成要怎么操作、

  18. 荒野无灯

    @ezencart
    嗯,这样写是非常不好的。可以这样调用来显示头像:

    1
    get_avatar( $email, $s, $default ) ;
  19. ezencart

    我的博客左边栏最新留言没有缓存,还是用的原来的,我看了下代码,他他图像显示写死了

    1
    $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=" .md5($email) . "&default=" . urlencode($default) . "&size=" . $size;

    请教要怎么修改

  20. 荒野无灯

    @老饕
    如果头像缓存站和插件在同一服务器,则插件可自动部署,你说的这种不在同一服务器的情况,插件也支持,不过得手动修改配置文件和手动复制几个文件传到头像缓存服务器上。

  21. 老饕

    厉害!我现在为缓存头像的流量头痛~~有没有好的空间推介?找了一个稳定的,我就用它做缓存头像的服务器~

  22. 牧风

    已经开着缓存了,有几次出过问题

  23. 荒野无灯

    @phoetry
    新年好~~嗯,我也发现gravatar头像站目前是ok,不过用缓存加载头像估计会稍微快一些(如果访问博客速度比访问gravatar头像服务器的速度快的话 :arrow: )。还有,在天朝,不得不“时刻准备着”(被墙),因此,我还是继续缓存中 。

  24. phoetry

    无灯新年好 :twisted:
    (虽然都快元宵了).
    gravatar好久不墙了, 等再被墙后再使用缓存-_-

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS