前几天突然发现Gravatar
的头像突然失效了,本来以为正常抽风,结果一直到今天都是坏的,看着ico一直转圈圈,实在是受不了了。
正常来说,我应该已经设置了使用duoshuo
的Gravatar
源,不过前端地址仍然是Gravatar
的SSL源,一开始百思不得其解。到后来,甚至直接替换掉了$avatar
的字符串,直到最后才发现,原来是UCenter
插件的原因,原来这个插件也对Gravatar
源进行了替换,怪不得一直失效。不过这里还是说一下我用到的这两种替换的方法。
1 修改评论头像
1.1 在最后调用的时候替换对应字符串
这可能是最傻瓜的操作了,不过不灵活,但是也能实现我们的要求。
打开主题目录下的functions-theme.php
文件,然后找到return str_replace(' src=', ' data-src=', $avatar)
这句,可以看到,最后调用头像的时候,就是它在使能。我一开始用的笨办法是在调用avatar
之前,先把相关地址替换掉,也就是在这句之前加上:
1 2 |
$avatar = str_replace(array("secure.gravatar.com/avatar", "www.gravatar.com/avatar", "0.gravatar.com/avatar", "1.gravatar.com/avatar", "2.gravatar.com/avatar"), "cdn.v2ex.com/gravatar", $avatar); $avatar = str_replace(array("s=100"), "s=100&r=PG&d=monsterid", $avatar); |
就可以了。
1.2 回归正常修改模式
下面就是正常的修改方式了,还是打开functions-theme.php
文件,找到下面对应的改一下就可以了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
if( !_hui('gravatar_url') || _hui('gravatar_url') == 'ssl' ){ add_filter('get_avatar', '_get_ssl2_avatar'); }else if( _hui('gravatar_url') == 'duoshuo' ){ add_filter('get_avatar', '_duoshuo_get_avatar', 10, 3); } //官方Gravatar头像调用ssl头像链接 // function _get_ssl2_avatar($avatar) { // $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2&d=mm" class="avatar avatar-$2" height="50" width="50">',$avatar); // return $avatar; // } function _get_ssl2_avatar($avatar) { $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://cdn.v2ex.com/gravatar/$1?s=$2&d=mm" class="avatar avatar-$2" height="50" width="50">',$avatar); return $avatar; } //多说官方Gravatar头像调用 function _duoshuo_get_avatar($avatar) { $avatar = str_replace(array("secure.gravatar.com", "www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "gravatar.duoshuo.com", $avatar); return $avatar; } |
2 修改个人中心头像
如果你装了UC
,那可能按照上面的方法运行之后,个人中心的头像依旧是原始的Gravatar
链接,此时只需要打开plugins/ucenter-and-market/func/functions.php
文件,然后修改为以下内容即可:
1 2 3 4 5 |
function um_get_ssl_avatar($avatar) { $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)(&?.*)/','<img src="https://cdn.v2ex.com/gravatar/$1?s=$2&r=PG&d=monsterid" class="avatar avatar-$2" height="$2" width="$2">',$avatar); return $avatar; } |
本文最后更新于2021年3月15日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
试试看我的头像
@测试头像 头像很靚~~