本文及资源最后更新时间 2022-11-20 by sky995
Typecho默认使用的是Gravata头像,Gravatar大多数的链接在国内都被墙了,加载失败不说,还影响博客加载速度。
这里记录一下通过修改程序源码来替换Gravatar头像地址为国内比较快的头像源,并且添加QQ邮箱头像获取,显示QQ头像,达到更好的体验。
更换Gravatar头像源方法:
找到网站根目录下的config.inc.php文件,加入以下代码。
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.loli.net/avatar/'); //更换头像源
这里使用的是loli.net的头像源,如果有需要也可以换成别的。
添加获取QQ邮箱头像方法:
打开目录 var/Typecho/common.php
在826行左右 找到以下代码
将其替换成:
public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
$reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/";
if (preg_match($reg, $mail)) {
$img = explode("@", $mail);
$url = "//q2.qlogo.cn/headimg_dl?dst_uin={$img[0]}&spec=100";
} else {
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;
}
实现的效果:输入QQ邮箱,调用QQ头像;输入普通邮箱,调用Gravatar头像。