昨天发现Gravatar头像被墙,想着这也不是一两次了,但今天看着满屏的白茫茫真是浑身不爽。虽然我还是挺拥护这个国家的,但有些人的有些做法真让人灰心丧气。怎么说呢,白痴!

Anyway,只有自己找解决方案了。找了一圈没找到,幸好常阳时光的留言里给出了解决方案:

解决办法:调用ssl 头像链接——https还是没被墙的,而且速度还不错,直接调用这个最简单了。如果你的网站启用了ssl则不需要了,否则functions.php 加入如下代码即可。

function get_ssl_avatar($avatar) {
   $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

更多解决办法请看 大发 OR Google、度娘。

贴了代码后解决了竹炉山房的毛病,但因为旅行漫记用的是知更鸟的主题Ality 0.3,虽然主题很好看,但用了太多自定义的代码了,每次更新都非常、非常的痛苦……改了几下头像还是不显示,原因是他用了cache代码。无奈放弃,等着他放出新版本再说吧。

干脆这次就把旅行漫记改成twentyeleven主题吧,简单清爽,挺好的。

特别的,对多说没坏感的建议使用多说缓存。

function duoshuo_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', 'duoshuo_avatar', 10, 3 );

[2014-12-10] 今天发现cn.gravatar.com没有被GFW,那么解决方案非常简单,用cn.gravatar.com替换国外服务器即可。

function dw_get_avatar($avatar) {
$avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"cn.gravatar.com",$avatar);
return $avatar;
}
add_filter( 'get_avatar', 'dw_get_avatar', 10, 3 );

发表评论

电子邮件地址不会被公开。 必填项已用*标注

12条评论