Typecho换Gravatar国内源
Gravatar是Globally Recognized Avatar的缩写,意为“全球通用头像”,如果在Gravatar的服务器上放置了你自己的头像,只要提供你与这个头像关联的Email地址,就能够显示出你的Gravatar头像来
Gravatar的概念首先是在国外的独立WordPress博客中兴起的,当你在网站留言时,网站都会根据你所提供的Email地址为你显示出匹配的头像
当然Typecho也是默认有支持Gravatar头像的功能
Typecho被Gravatar头像拖慢了访问速度,是因为Typecho使用的Gravatar的镜像默认是国外镜像,国内访问极其不稳定
目前可用Gravatar国内镜像
zeruns's Blog的镜像源: https://gravatar.zeruns.tech/avatar/
V2EX源(推荐):https://cdn.v2ex.com/gravatar/
Loli源:https://gravatar.loli.net/avatar/
极客族:https://sdn.geekzu.org/avatar/
调用
分析Typecho输出Gravatar代码,如下
可以看到如果常量TYPECHO_GRAVATAR_PREFIX没有定义,则Gravatar使用https://secure.gravatar.com或http://www.gravatar.com,如果定义了就使用TYPECHO_GRAVATAR_PREFIX常量 的值,我们只需要定义一下TYPECHO_GRAVATAR_PREFIX常量就可以啦
/**
* 获取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;
}
在站点根目录下的config.inc.php文件加入如下代码
/** 更换头像源 */
define('__TYPECHO_GRAVATAR_PREFIX__', 头像源);
例如
/** 更换头像源 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');
作者:https://kevinlu98.cn/archives/32.html
:D 少女祈祷中...