这几天天朝的墙又升级了, Wordpress 评论的 Gravatar 头像无法显示, 不用看, 用脚板想都知道 Gravatar 服务器的地址( 0.gravatar.com )被墙在天朝外面了。木有办法, 不想用缓存 Gravatar 至本地服务器, 因为俺有点洁癖, 喜欢空间干净整洁, 文件少。所以只能折腾下修改 Wordpresss 文件, 把 0.gravatar.com 地址换一个没被墙掉的。
打开“ wp-includes/pluggable.php ”文件, 搜索 gravatar.com, 找到下面的代码:
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 $host = 'http://www.gravatar.com';
OK, 搞定。
Update 2014年9月28日 推荐国内用户使用这种解决方案
通过多说服务器中转缓存加速 Gravatar 头像,解决被墙问题
在 WordPress 主题文件 functions.php 中加入以下代码:
function mytheme_get_avatar($avatar) { $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar); return $avatar; } add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );
原来是这个原因谢谢啦~~~