WordPress用户头像无法显示让我很抓狂,因为实在太难看了。本人实在无法忍受,于是在此分享WordPress用户头像不显示的解决方法,希望能给有需要的人提供些许帮助。「相关阅读:wordpress中文tag标签错误解决方法」
那么,为什么WordPress头像无法显示呢?原因是WordPress默认使用Gravatar头像(Gravatar是Globally Recognized Avatar的缩写,是gravatar推出的一项服务,意为“全球通用头像”),而Gravatar在国内被墙导致在国内无法访问Gravatar头像服务,因此就出现了WordPress头像的破图现象。
如何解决WordPress用户头像不显示的问题呢?
使用Gravatar头像服务的(HTTPS)加密线路
在主题目录中找到functions.php文件,打开编辑,在代码最后加上以下代码即可:
function fox_get_https_avatar($avatar) {
$avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "secure.gravatar.com", $avatar);
$avatar = str_replace("http://", "https://", $avatar);
return $avatar;
}
add_filter('get_avatar', 'fox_get_https_avatar');
修改pluggable.php 文件,更改头像调用
在/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://0.gravatar.com';
}
然后将这段代码修改成:
if ( is_ssl() )
$host = ‘https://secure.gravatar.com’;
else $host = ‘http://www.gravatar.com’;
保存,完成!