关于gravatar头像被墙的解决方法
下面文章来自爱在发烧因为本人也是比较的懒了,已经有好了呢为什么还要浪费力气呢哈哈
本站以前介绍过关于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文件中的?>前面即可,切记任选一种~
本站使用的是第四种,个人推荐.如果发现代码失效,请及时提醒~