TypechoJoeTheme

香草物语

统计
登录
用户名
密码
/
注册
用户名
邮箱
输入密码
确认密码

typecho替换QQ头像

Laughing博主
2022-09-24
/
0 评论
/
1,261 阅读
/
163 个字
/
百度已收录
09/24
本文最后更新于2024年03月15日,已超过34天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

前言

Typecho使用的是Gravatar作为用户的头像,但是大部分用户都没有设置Gravatar头像,而且Gravatar在国内访问速度感人,大大影响了用户体验和站点速度。

解决方法

让数字QQ邮箱显示QQ头像,非数字QQ邮箱使用Gravatar国内镜像加快速度。

修改文件

typecho根目录/var/Typecho/Common.php文件,注释掉大约在第1010行至第1028行的代码

/**
public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
……
return $url;
}**/

在其下方添加以下 php 代码

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://gravatar.loli.net' : 'http://gravatar.loli.net';
      $url .= '/avatar/';
    }
    if (!empty($mail)) {
      $url .= md5(strtolower(trim($mail)));
    }
    $url .= '?s=' . $size;
    $url .= '&r=' . $rating;
    $url .= '&d=' . $default;
  }
  return $url;
} 

现在Typecho全局支持数字QQ邮箱显示QQ头像了,Gravatar使用国内镜像源。

我的文件格式化了,所以显示行数可能不太一样,主要看方法名吧。
TypechoGravatar
朗读
赞(4)
赞赏
感谢您的支持,我会继续努力哒!
版权属于:

香草物语

本文链接:

https://www.xiangcaowuyu.net/blog/typecho-replaces-qq-avatar.html(转载时请注明本文出处及文章链接)

评论 (0)