MENU

三种方法教你解决 Typecho 的 Gravatar 头像显示问题

December 18, 2021 • Read: 4861 • 点滴记录

Typecho 评论默认使用的是 Gravatar 头像,(博主主题自带 qq 邮箱评论调取 QQ 头像,所以 qq 邮箱用户正常显示)但因为 Gravatar 网站总是被墙,你会看到这样

2.png

博主总结了三种方法,教你解决 Typecho 的 Gravatar 头像显示问题

方法一:更改 Gravatar 为国内 CDN 服务

具体步骤:在根目录程序配置文件 config.inc.php 最后面插一段

  • define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.cat.net/avatar/');

效果如下

3.png

不足:改完之后可以正常显示了,但又出现一个新问题,有 Gravatar 账号的人太少了,没账号的显示千篇一律的蓝色头像,果断放弃

方法二:自定义 Gravatar 默认头像(参照大佬文章

具体步骤:找到网站根目录下的 /var/Typecho/Common.php 文件大概 920 行左右,替换为如下

  • 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;
  • }

替换为

  • public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
  • {
  • if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
  • $url = __TYPECHO_GRAVATAR_PREFIX__;
  • } else {
  • $url = $isSecure ? '你的头像地址' : '备用头像地址';
  • }
  • return $url;
  • }

效果如下

5.png

不足:所有头像都显示默认头像,效果单一,要显示 QQ 头像需单独配置

方法三:使用 Cravatar 自动匹配机制解决 Gravatar 被墙和 QQ 邮箱用户显示问题

官方解释: 独有的三级头像匹配机制(当访客请求自己的头像时,我们会按此顺序分三级匹配头像:Cravatar->Gravatar->QQ 头像,这平均可以为 70% 的访客提供准确的头像)

具体步骤:在根目录程序配置文件 config.inc.php 最后面插一段

  • /**
  • * 替换Gravatar头像为Cravatar头像
  • *
  • * Cravatar是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
  • */
  • define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cravatar.cn/avatar/');

效果如下:

2.png

Last Modified: December 20, 2021
Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment

  • OωO
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • (。•ˇ‸ˇ•。)
  • 泡泡
  • 阿鲁
  • 用我吧
  • 颜文字

14 Comments
  1. vian vian

    前段时间我发现我的博客头像出问题了 一直没修
    没想到能搜到自己人

  2. 不错,感谢分享

  3. 真不错,百度搜到认识的博友

  4. [...] 本文摘自叶小明博客 Typecho 评论默认使用的是 Gravatar 头像,(博主主题自带 qq 邮箱评论调取 QQ 头像,所以 qq 邮箱用户正常显示)但因为 Gravatar 网站总是被墙,你会看到这样博主总结了三种方法,教你解决 Typecho 的 Gravatar 头像显示问题方法一:更改 Gravatar 为国内 CDN 服务具体步骤:在根目录程序配置文件 config.inc.php [...]

  5. 还是方法三简单快捷~

    1. @龙笑天 哈哈,我选择了方法二,感觉好多人没注册 Gravatar ,不太喜欢默认的头像

  6. https://cravatar.cn/developers/for-typecho
    配置文件改一下就行了

    1. @晨岩看了确实不错 自动匹配机制

  7. 用 Cravatar 吧,能返回 qq 头像 :cravatar.cn

    1. @晨岩哈哈 QQ 头像我的主题自带了 只要自定义 Gravatar 头像了 不喜欢默认的@ 7

    2. @叶小明 把大佬的方案加到方法三了