昨天看到同盟源分享的Yusi1.0修改升级版顿时觉得眼前一亮,立马换上试试,可发现一个很严重的问题,安装主题后Gavatar头像一直在那转啊转啊转,看着很是闹心,于是陌小雨开始动刀子啦!前不久,陌小雨发布过一片安装知更鸟主题后发布的一篇文章:解决知更鸟主题评论头像不显示,今天的手术需要改文章中的代码:
需要修改的四个文件,分别是functions.php、comment.php、widgets/wid-comment.php、ajax/comment.php共四个文件
修改办法:
找到如下代码删除
//评论头像缓存 function deel_avatar($avatar) { $tmp = strpos($avatar, 'http'); $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp); $tmp = strpos($g, 'avatar/') + 7; $f = substr($g, $tmp, strpos($g, "", $tmp) - $tmp); $w = get_bloginfo('wpurl'); $e = ABSPATH .'avatar/'. $f .'.png'; $t = dopt('d_avatarDate')*24*60*60; if ( !is_file($e) || (time() - filemtime($e)) > $t ) copy(htmlspecialchars_decode($g), $e); else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.png')); if ( filesize($e) < 500 ) copy(get_bloginfo('template_directory').'/img/default.png', $e); return $avatar; }
替换为如下代码:
//解决Yusi2.1主题gravatar头像被墙by陌小雨 function get_ssl_avatar($avatar) { $avatar = preg_replace('/.*\/avatar\/(.*)\s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar); return $avatar; } add_filter('get_avatar', 'get_ssl_avatar');
然后搜索
[v_qing]deel_avatar[/v_qing]
全部替换为
[v_pink]get_ssl_avatar[/v_pink]
同样如上搜索全部替换即可。
陌小雨写完文章才发现还有一个更简单的方法:
直接将上面代码
//解决Yusi2.1主题gravatar头像被墙by陌小雨 function get_ssl_avatar($avatar) { $avatar = preg_replace('/.*\/avatar\/(.*)\s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar); return $avatar; } add_filter('get_avatar', 'get_ssl_avatar');
中的两个get_ssl_avatar替换为deel_avatar好像更便捷一点, 😥 哎,不管了,反正已经修改完了。