2015年1月

下面文章来自爱在发烧因为本人也是比较的懒了,已经有好了呢为什么还要浪费力气呢哈哈

本站以前介绍过关于Gravatar,这篇文章主要解决wordpress的Gravatar头像被墙后导致评论头像等无法打开的问题.Gravatar头像已经成为了主流的通用头像,论坛,博客程序等.由于服务器在国外,http的头像图片就悲剧了~

我一直不提倡用缓存的方法将图片缓存到服务器,这样一来图片一多服务器的压力就越大.针对此网上也相继给出了解决办法,大同小异都是可行的办法,下面就贴上解决办法

1.替换Gravatar头像为多说官方Gravatar头像

function theme_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', 'theme_get_avatar', 10, 3 );

2.将多说Gravatar头像镜像到七牛(七牛必须镜像你的域名)

function theme_get_avatar($avatar) {
  $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img class="avatar avatar-$2" src="http://你的七牛域名/avatar/$1-$2" alt="" width="$2" height="$2" />',$avatar);
  return $avatar;
}
add_filter( 'get_avatar', 'theme_get_avatar', 10, 3 );

3.修改Gravatar域名

function theme_get_avatar($avatar) {//http和https开头都可以
    $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img class="avatar avatar-$2" src="http://secure.gravatar.com/avatar/$1-$2" alt="" width="$2" height="$2" />',$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'theme_get_avatar', 10, 3 );

4.修改Gravatar域名(2)

function theme_get_avatar($avatar) {
    $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img class="avatar avatar-$2" src="http://gravatar.com/avatar/$1-$2" alt="" width="$2" height="$2" />',$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'theme_get_avatar', 10, 3 );
如果你是新手,以上代码任选一种添加到functions.php文件中的?>前面即可,切记任选一种~

本站使用的是第四种,个人推荐.如果发现代码失效,请及时提醒~