这几天不管出于什么原因,头像无法显示了都是叉,在2010年10月15号左右也出现过类似的情况,我使用的这款主题是可以缓存头像的,但是还是有诸多不便,在这里发布一下解决办法。
第一种方法是更改头像地址
找到博客根目录下wp-includes/pluggable.php文件,然后搜索到这样一段代码
if ( is_ssl() ) {
$host = 'https://secure.gravatar.com';
} else {
if ( !empty($email) )
$host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
else
$host = 'http://www.gravatar.com';
}
更改为:
if ( is_ssl() )
$host = 'https://secure.gravatar.com';
else
$host = 'http://www.gravatar.com';
第二种方法是将头像缓存到服务器
(注:国内主机无效)先在你的网站 wp-content 的同级目录建立资料夹: /avatar 权限: 0755, 这是準备 gravatar 缓存的路径. (若权限: 0755 不行, 试一下 0777)準备一张适合你模板尺寸的默认头像, 名为”default.jpg” 放在此路径。
将下列代码 copy 到模板的 functions.php
function my_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 .'.jpg';
$t = 1209600; //設定14天, 單位:秒
if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //當頭像不存在或文件超過14天才更新
copy(htmlspecialchars_decode($g), $e);
} else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
if ( filesize($e) < 500 ) copy($w.'/avatar/default.jpg', $e);
return $avatar;
}
add_filter('get_avatar', 'my_avatar');
以上两种方法是解决头像无法显示的办法,以上方法仅是用于wordpress。
不错的方法,学习了!
可惜我的主机不支持copy功能
win主机?我以前的win主机也不支持
wordpress还是linux好一些
之前还曾发现www有些头像无法获取, 改用0或1即正常
这次我这里是改成www才正常
gravatar-fixed插件也可以修改gravatar源服务器,如果要修改源文件,我的建议还是使用插件,方便简单且无阻升级。
第二种办法其实更可取
我是第一种和第二种并用
我一直是用插件的。
插件也很不错,方便~
一直使用第二种Willin Kan的方法,很给力的说,搞不懂这样的网站为什么还要被屏蔽
我也搞不懂,天朝谁能搞得懂呢
貌似今天的Gravatar又不正常了
按照方法修改以后正常的啊。
我现在用的是第二种办法。
我第一种,第二种都用了
我直接用插件,简单方便
嗯,直接用插件确实简单方便,我也决定试试
神马插件?
我用的WP Gravatar Mini Cache
哦,gravatar缓存?
我都用过,,都感觉不好用,,直接加载主站的,感觉慢,用缓存,我的有点错误。。哎!
那就把头像拿掉。。
缓存才是硬道理~~~
嗯,我现在也缓存呢
我回来以后发现头像又好了,mark一下,再出问题立马改之
我今天也发现头像好了,真坑爹
我把主机搬到国内了,缓存也不是那么方便了
今天好像又抽风了,换第一种方法吧。你的第二种方法里面有2个大于号和1个小于号转义了
在天朝..表示最后的缓存比较好
嗯,缓存+插件更好
前两天就发现不显示了.开始以为主题问题没有搭理 , 昨天测试评论的时候才发现XXX了.改了地址OK了 , 你就要牛逼些弄了两种方法出来 , 我一个方法都搞了好一会儿. 😯
呃,就是把方法整合到一起了而已
非常好用的方法,立竿见影,谢谢分享
我现在是直接使用缓存..知道搞到服务器上..这样就方便了..
这个头像也没多大哈
你第二种是willin的第几版缓存代码?
我以前也曾遇到过这个问题,不过现在使用了头像缓存。
我试试能够显示头像QwQ