October 17th, 2010

Gravatar被墙,WP评论头像显示方法

Category: wordpress, 代码, 博言, 网络, Author: 阿七, Popularity: 19% [?]

就在这几天,“全球通用头像”Gravatar部分域名被墙,造成很多朋友的WP博客上的评论头像正常显示。在这里搜集了几个解决方法,与大家分享在此!

在被墙之前,WordPress的Gravatar头像有时候会出现加载比较慢的问题,通过以下的方法也可以改善下这个问题。

方法一:修改pluggable.php,具体是替换Gravatar的网址,把被墙了的*.gravatar.com替换成www.gravatar.com就可以正常显示了,具体方法如下:

1、编辑打开/wp-includes/pluggable.php,找到下面这段代码:

if ( is_ssl() ) {
$host = ‘https://secure.gravatar.com’;
} else {
if ( !empty($email) )
$host = sprintf( “http://%d.gravatar.com”, ( hexdec( $email_hash{0} ) % 2 ) );
else
$host = ‘http://0.gravatar.com’;
}

修改为:

if ( is_ssl() ) {
$host = ‘https://secure.gravatar.com’;
} else {
if ( !empty($email) )
$host = sprintf( “http://www.gravatar.com”, ( hexdec( $email_hash{0} ) % 2 ) );
else
$host = ‘http://www.gravatar.com’;
}

或者,直接下载我修改好的php文件:[download#9] 。
解压后,上传到WP目录下的wp-includes文件夹下替换即可。

方法二:Gravatar头像缓存本地化。

关于Gravatar头像本地化的方法,启用Generic Gravatar Cache这个插件,可以参照原文具体的一些说明。另外,本地化需要修改一些代码,设置主机权限,有时间的朋友不妨试试!

关于Gravatar:

Globally Recognized Avatar的缩写,是gravatar.com推出的一项服务,意为“全球通用头像”。如果在Gravatar的服务器上放置了你自己的头像,那么在任何支持Gravatar的blog或者留言本上留言时,只要提供你与这个头像关联的email地址,就能够显示出你的Gravatar头像来。

Gravatar被墙的问题解决了吧,不妨留言说上几句!

什么?上面的文章不过瘾?我还特意准备了这些:

Tags:, , .
评论数量(7) | Add Comments
本文网址:http://blog.designlinks.cn/blogs/wp-gravatar-favicon.html

7 Comments so far

» You can leave a response or Trackback .

  1. Gravatar Icon 先看看 Says:

    不错,问题解决了

    Beach回复:
    哈,恭喜!

  2. Gravatar Icon 名字被屏蔽了… Says:

    很好 问题搞定了

    Beach回复:
    不好意思,你的名字和网址被屏蔽!
    请勿为了广告而留言!

  3. Gravatar Icon 不孕不育治疗 Says:

    很不错哦 问题解决了

    Beach回复:
    ha!

  4. Gravatar Icon 傻傻 Says:

    这篇帖子好

    Beach回复:
    ha

  5. Gravatar Icon olings Says:

    学习了 有用的方法

    Beach回复:
    这个时候才修正过来?

  6. Gravatar Icon 若松雲水閣 Says:

    現在不用已經恢復了,所以不用這樣子改了

  7. Gravatar Icon 何朝城 Says:

    看到大家的Gravatar头像被墙,我这里也提供一个用七牛搭建的Gravatar头像缓存。七牛的速度我想大家也体验过了吧!WordPress博客请将下面代码添加到当前主题的functions.php文件中即可解决。

    //=== 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' );

    不要感谢我,请叫我雷锋!!

leave a reply