一步解决wordpress3.0 gravatar头像不能显示

最近Gravatar的某些服务器不幸被墙,很多童鞋的博客里头像只剩下一片空白,但是有些还是可以显示的,除去之前已经使用了本地缓存的朋友,可以显示的地址都是以www开头的,以数字开头的很多服务器已经无法使用。wordpress是在3.0之后才更新了调用Gravatar头像的代码。

2.9之前的代码没有进行选择,是这样的:

HTML,ifeiyang.cn
  1. if ( is_ssl() )
  2. $host = 'https://secure.gravatar.com';
  3. else
  4. $host = 'http://www.gravatar.com';
Parsed in 0.004 seconds at 22.78 KB/s

而3.0之后增加了对服务器的一些判断,这样本意是为了提高头像载入速度,结果还是架不住我们的伟大的墙啊!现在,我们只需要做一些简单的修改,使用www开头的地址展示我们的头像即可。

3.0之后的代码,在wp-includes文件夹下 pluggable.php 文件,大约1645行。将下面的代码

HTML,ifeiyang.cn
  1. if ( is_ssl() ) {
  2. $host = 'https://secure.gravatar.com';
  3. } else {
  4. if ( !empty($email) )
  5. $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
  6. else
  7. $host = 'http://0.gravatar.com';
  8. }
Parsed in 0.004 seconds at 49.98 KB/s

改为2.9之前的代码就能解决问题。

然而这样的解决是治标不治本的,因为谁都不能保证我们的墙会不会再次大发神威,连www.graatar.com一并屏蔽,而且还修改了wordpress的源文件,老饕一贯是不建议这样修改的。所以还是建议大家尽量使用头像本地缓存,几千个头像也就几M而已,速度上没有任何问题,具体可以参看我之前的文章:wordpress速度优化之缓存Gravatar头像



分享到:
版权申明

本站所有文章,除特别标明外,皆为原创。如需转载,请注明出处:

转载自:i 飞扬 分享精彩!
原文链接:一步解决wordpress3.0 gravatar头像不能显示

您的支持是我最大的动力!

  1. MS有些博客行有些博客不行,不知道怎么搞得,我有事一个软件盲…

    [点击回复]

    老饕 回复:

    @冬雨, 没有问题吧?~~干脆本地缓存~~

    [点击回复]

    • 老饕
    • 2010年10月25日

    @爱惜, 好吧~~我今天从垃圾评论里把你拣出来了~~估计你到其他人那儿留言也是这样的情况~~囧了

    [点击回复]

  2. 貌似我留言都不能显示?

    [点击回复]

  3. 还好我没升级WP

    [点击回复]

    老饕 回复:

    @huangjun, 我也没升~~新功能现在还用不着~

    [点击回复]

  4. loo2k开发了一个插件。可以去我的博客那里下。

    [点击回复]

    老饕 回复:

    @wangfeng, 呵呵,道理是一样的~~自己改了之后还少一个插件~

    [点击回复]

    SOHO一族 回复:

    @老饕, 俺也用的插件,方便

    [点击回复]

    老饕 回复:

    @wangfeng, 其实采用本地缓存是最简单带方法~

    [点击回复]

  5. 最治本的方法是离开兲朝www

    [点击回复]

  6. 我昨天也是这么改成功的

    [点击回复]

  7. 呵呵,我也是这样解决的。

    [点击回复]

  8. 看来我今天,还真没走错地方了。
    不多说,我用上了。
    嘿,谢谢

    [点击回复]

    老饕 回复:

    @牛奶我不喝, 推介使用本地缓存,难保www也被屏掉!

    [点击回复]

  9. 恩,这个gravatar头像被墙,关键字很火~

    [点击回复]

    老饕 回复:

    @途途, 呵呵,你竟然关注关键词!你从哪儿看的啊?是百度指数吗?

    [点击回复]

    途途 回复:

    @老饕, 是的,指数很高~

    [点击回复]

  10. 昨天也出现这个问题。先前还以为空间问题。看来用3.0以上版本的人还蛮多的。

    [点击回复]

    老饕 回复:

    @爱惜, 我还在用2.9.2~等年末的3.1吧!

    [点击回复]

    爱惜 回复:

    @老饕, 怎么我的留言都不能显示?

    [点击回复]

  11. 还是你的方法好

    [点击回复]

    老饕 回复:

    @云崧, 推介使用本地缓存~~真正一劳永逸!

    [点击回复]

  12. 终于有人出面解决这个问题了~
    我以前都是用老版本的文件替换,但是会有一些其他的副作用~很不爽

    [点击回复]

    老饕 回复:

    @exia, 要改的也就一两行的代码~

    [点击回复]

    exia 回复:

    @老饕, 今天发现,好像解除对gravatar的墙了~头像可以正常显示了呢

    [点击回复]

  13. 在天朝,缓存是必须的

    [点击回复]

    老饕 回复:

    @荒野无灯, 同意啊!!!!

    [点击回复]

  14. :razz: 昨天回访时就发现很多网站一片红X

    [点击回复]

    老饕 回复:

    @IM路人, 呵呵,所以一定把wordpress本地化掉~

    [点击回复]

  15. 这个也要墙,是不是墙疯了,太操蛋了。去修改一下看看。

    [点击回复]

    老饕 回复:

    @SErHo, 还是缓存本地省心~~

    [点击回复]

  16. 墙已经塌了

    [点击回复]

    老饕 回复:

    @不纯粹文人, 好吧~~难保它不会再建起来!

    [点击回复]

  17. 照着第一种方法。。出问题了。。不知道咋的原因。。因为头像又恢复了。。淡疼的WP。。。

    [点击回复]

    老饕 回复:

    @gorgons., 应该不会吧~~要不然在把 if ( !empty($email) ) 这个判断加上去?应该无所谓的~

    [点击回复]

    gorgons. 回复:

    @老饕, :idea: 淡疼的墙。。要不是墙的存在我们哪这么麻烦。。。

    [点击回复]

    gorgons. 回复:

    @gorgons., 发现了,你这里的教程里,2.9的代码,最后应该再加一行,加上},或者把3.0的最后一行,也就是}去掉。。。不然网页无法显示

    [点击回复]

    老饕 回复:

    @gorgons.,因为 else只有一行,所以不需要括号~~替换的时候视具体情况吧~

    [点击回复]

  18. :cry: 已经按这个方法改了,并且烧高香求墙留点情面中……总觉得既然有人提供在线服务了还要自己弄缓存是一种浪费

    [点击回复]

    老饕 回复:

    @Google不爱我, 恩,我属于一次改彻底~

    [点击回复]

  1. 2010年10月17日
    通告来自 云者,迷

无觅相关文章插件,快速提升流量