北极寒流 » 网络资源 » wordpress Gravatar 头像不显示(被墙)解决方法 - 2014.11.16

wordpress Gravatar 头像不显示(被墙)解决方法

最近发现很多Gravatar 头像都不显示了,开始还以为是网络问题,后来才知道是Gravatar 的服务也被和谐了,看着那些叉叉很是头疼,不过目前也没有什么好的第三方的头像服务,只能继续采用Gravatar 的。下面是解决方法

第一种方法,https直接调用官方的数据,理论上应该是最稳定的了,目前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');

多说缓存

下面的代码加到functions.php

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 );

另外一种写法

function mytheme_get_avatar( $avatar ) {

$avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.duoshuo.com",$avatar );

return $avatar;

}

add_filter( 'get_avatar', 'mytheme_get_avatar' );

16

wordpress Gravatar 头像不显示(被墙)解决方法

分享到:

最受欢迎的