前言
Gravatar(英语:Globally Recognized Avatar)是一项用于提供在全球范围内使用的头像服务。只要你在 Gravatar 的服务器上上传了你自己的头像,你便可以在其他任何支持 Gravatar 的博客、论坛等地方使用它。
从 2011 年 8 月起,gravatar.com 被部分地区屏蔽,部分用户访问博客时头像可能无法正确显示。2014 年,网站被解封,页面访问正常。约 2014 年 11 月左右,网站再次被屏蔽,部分用户访问博客时头像无法正确显示。现时已被封锁,方式为 DNS 污染。
由此导致 Typecho 无法显示 Gravatar 头像或加载非常缓慢。
So,修改默认的 Gravatar 头像源为第三方镜像源,即可解决显示问题
解决方法
更新提示
2024年4月15日 13:10:53,我已将我自己博客的头像源(config.inc.php
中的__TYPECHO_GRAVATAR_PREFIX__
)更换为cravatar,该源直接支持QQ头像,很棒!/** 更换头像源 */
/**define('__TYPECHO_GRAVATAR_PREFIX__', 'https://dn-qiniu-avatar.qbox.me/avatar/');*/
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cravatar.cn/avatar/');
方法 1(推荐):修改文件config.inc.php
博客网站根目录下找到文件config.inc.php
,直接在最后加入以下代码:
/** 更换头像源 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'http://dn-qiniu-avatar.qbox.me/avatar/');
其中http://dn-qiniu-avatar.qbox.me/avatar/
即为你要设置的镜像源地址
推荐源:(点击地址可查看是否存活)
方法 2:修改文件Common.php
1. 打开网站目录下的/var/Typecho/Common.php
文件
2. 找到以下代码(直接搜索部分代码或前往 900~1100 行用你的大眼睛扫描):
/**
* 获取gravatar头像地址
*
* @param string $mail
* @param int $size
* @param string $rating
* @param string $default
* @param bool $isSecure
* @return string
*/
public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
$url .= '/avatar/';
}
if (!empty($mail)) {
$url .= md5(strtolower(trim($mail)));
}
$url .= '?s=' . $size;
$url .= '&r=' . $rating;
$url .= '&d=' . $default;
return $url;
}
3. 修改代码中指向的地址https://secure.gravatar.com
及 http://www.gravatar.com
为第三方镜像源。(以上代码块中的第16行)
例:
...
} else {
$url = $isSecure ? 'https://cravatar.cn/' : 'https://gravatar.loli.net';
$url .= '/avatar/'(镜像源文件夹);
}
...
推荐源:
源名称 | 源地址 |
---|---|
七牛(推荐) | https://dn-qiniu-avatar.qbox.me |
极客族(推荐) | https://sdn.geekzu.org |
九月的风 | https://cdn.sep.cc |
V2EX | https://cdn.v2ex.com (注意该镜像源的文件夹为/gravatar/) |
Cravatar | https://cravatar.cn |
Ihuan | https://gravatar.ihuan.me |
loli | https://gravatar.loli.net |
WeAvatar | https://weavatar.com |
解决Typecho无法显示Gravatar头像的问题 by https://oneszhang.com/archives/gravatar.html
[...]define('__TYPECHO_GRAVATAR_PREFIX__', 'http://dn-qiniu-avatar.qbox.me/avatar/');或者其他方法其他方法[...]
[...]define('__TYPECHO_GRAVATAR_PREFIX__', 'http://dn-qiniu-avatar.qbox.me/avatar/');或者其他方法其他方法主题位置/usr/themes插件位置/usr/plugins关于图片沙箱原图将这个压缩包解压到正在使用的主题目录下fslightbox-basic-3.4.1.zip把下面内容添加到header.php中前面<s[...]