起因
Typecho 默认使用的是 gravatar 的头像,这个东西会根据用户的邮箱去调用你的头像,有两个问题:一是这个需要用户去主动上传,二是这个东西在大天朝是访问不到的,用户无法使用无法上传获取头像。
主题
在主题评论模块设计的时候就考虑到 gravatar 可能并不太适合国内用户。但是又不能完全不用,会让有“魔法”的用户,体验感下降。考虑后使用 gravatar + QQ头像的 方案,及QQ邮箱用户优先使用QQ头像,其余用户使用 gravatar 头像。
Typecho
早在1.2.0版本之前我就注意到有这个问题,那个时候并没有注意,那就现在来改改。
找到var/Typecho/Common.php 大概800多行 替换下面这一段代码
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)));
}
替换为
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ? 'https://gravatar.loli.net' : 'http://gravatar.loli.net';
$url .= '/avatar/';
}
if (!empty($mail)) {
if(preg_match('|^[1-9]\d{4,10}@qq\.com$|i',$mail)){
$url = '//q.qlogo.cn/g?b=qq&nk=' . explode("@",$mail)[0]. '&s=160';
}else{
$url .= md5(strtolower(trim($mail)));
}
}
Typecho头像被墙的解决方法
https://blog.jichun29.cn/2588.html
首先下载最新开发版本的TYPECHO,然后,在config.inc.php自定义如下:
/* 自定义gravatar url前缀 /
define('__TYPECHO_GRAVATAR_PREFIX__', 'http://gravatar.duoshuo.com/avatar/');
记录几个文件:
默认头像:var/typecho/common.php 第952行;可使用参数:mm(空白的头像)identicon(象素小人)monsterid(小怪物)wavatar(小人)retro(8bit小人)
评论的几个设置:var/Widget/Comments/Archive.php 可设置头像默认尺寸、评论的审核文字等。
https://shangjixin.com/archives/typecho-edit-gravatar.html
欢迎加入 Typecho 大家族