9IPHP 主题侧边栏有个“最新评论”的小工具,里面显示了评论者的 Gravatar 头像,但是最近这几天发现头像一直加载不出来了,今天看到一种方法,测试了下,完美解决了问题,记录下来,也分享给大家!
在当前主题 functions.php 的最下面添加如下代码即可:
function _9iphp_replace_avatar($avatar) { $avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "secure.gravatar.com", $avatar); return $avatar; } add_filter( 'get_avatar', '_9iphp_replace_avatar', 10, 3 );
或者:
function _9iphp_replace_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', '_9iphp_replace_avatar' );
或者:
//Gravatar头像替换 function _9iphp_replace_avatar( $avatar ) { $avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","https://secure.gravatar.com",$avatar ); //或多说 http://gravatar.duoshuo.com return $avatar; } add_filter( 'get_avatar', '_9iphp_replace_avatar' );
经测试,第二种和第三种方法有时候还是会出现一点问题,推荐第一种方法。
具体效果大家可以参看我的侧边栏。
Ok713 2015/02/05 19:09
前来学习
IT人生路 2015/03/08 20:53
楼主没有通用的解决方法吗
Specs 2015/03/08 21:55
@ 这还不通用呀?
韦阳 2017/04/13 10:09
好像又没用了啊