【Typecho】gravatar头像不显示问题
背景
Gravatar 的全称是Globally Recognized Avatar
,指的是“全球通用头像”。在 Gravatar 的服务器上设置了你自己的头像,那么在任何支持 Gravatar 的博客或者留言本上评论时,只要提供你与这个头像关联的邮箱地址,就可以展示你在 Gravatar 上设置的头像来。
Typecho 默认支持 Gravatar 头像功能,但是由于Gravatar
境内经常访问不了,所以头像经常显示失败。
解决问题
既然访问不了,那我们给它替换一个能访问的地址问题就解决了呗。于是找到了Gravatar 的中国版。
找到网站目录/var/Typecho
下的Common.php
文件,搜索gravatarUrl
。找到如下所示的代码,修改https://secure.gravatar.com
这个地址为https://cravatar.cn
,这样后台就可以正常显示 Gravatar 头像啦!
推荐使用https://cdn.helingqi.com 或者https://sdn.geekzu.org 镜像源
public static function gravatarUrl(
?string $mail,
int $size,
?string $rating = null,
?string $default = null,
bool $isSecure = true
): string {
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;
if (isset($rating)) {
$url .= '&r=' . $rating;
}
if (isset($default)) {
$url .= '&d=' . $default;
}
return $url;
}