首页 » 开源/框架 » WordPress » 正文

Gravatar 头像被墙完美解决办法

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

经测试,第二种和第三种方法有时候还是会出现一点问题,推荐第一种方法。

具体效果大家可以参看我的侧边栏。

本文共 27 个回复

  • 轻微生活 2014/11/17 14:13

    我的也是采用这个替换的方法解决的!

  • maillot saxo bank 2014/11/17 15:34

    这种好东西就得分享。反正大神皆在。

  • xw-Toxf 2014/11/19 15:03

    谢谢大大这篇博文解决了我的头像不显示问题,但我还有个问题,就是调用导航图标,我的为什么只有添加链接导航才会有图标,而分类添加到导航时却不显示m呢?

    • Specs 2014/11/19 16:46

      @ xw-Toxf 导航图标需要你在那个名字前面加段代码,具体怎么加参考我导航栏里的“字体图标”

      • xw-Toxf 2014/11/19 17:48

        @ Specs 非常感谢,找到原因了,是我用的FontAwesome 的css文件版本是以前的,现在又下载个新的覆盖,一切都搞定了, 谢谢你哈

  • 2014/11/19 22:36

    搜索

  • 凡人修仙日常 2014/11/23 18:46

    我直接把有关的代码全删光了

  • Simon 2014/12/14 10:37

    已按教程更换 , 博客提速很多 . 楼主的主题真好看 , 感谢分享 , 哈哈哈 :smile:

  • konuy 2014/12/31 07:00

    看看我的头像 :razz:

  • 高台月下 2015/01/06 19:05

    博主,我的本来是右边的评论不显示头像,加上代码之后变成下面发表评论的地方不显示头像

    • Specs 2015/01/07 09:55

      @ 高台月下 你如果用我这个主题的话,你看看functions.php里面是不是已经加了_9iphp_replace_avatar这个函数,如果有的话换成我文章里第一种方法,没有的话加上就行。可以用,我现在就是这么解决的。

  • fancycoding 2015/01/10 02:18

    v2ex的gravatar cdn不是更方便么

  • 灰常记忆 2015/01/13 16:05

    还是有缓存好~

12

发表评论