首页 » 开源/框架 » 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 个回复

  • Ok713 2015/02/05 19:09

    :roll: 前来学习

  • IT人生路 2015/03/08 20:53

    楼主没有通用的解决方法吗

  • 韦阳 2017/04/13 10:09

    好像又没用了啊

12

发表评论