您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

解决 Typecho 后台头像被墙的问题

51自学网 2022-10-27 13:43:46
  网站维护

解决 Typecho 后台头像被墙的问题


最后更新时间:2022年06月12日

起因

Typecho 默认使用的是 gravatar 的头像,这个东西会根据用户的邮箱去调用你的头像,有两个问题:一是这个需要用户去主动上传,二是这个东西在大天朝是访问不到的,用户无法使用无法上传获取头像。

主题

Akina 在主题评论模块设计的时候就考虑到 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 如何安装主题和插件
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1