统计
  • 文章总数:248 篇
  • 评论总数:624 条
  • 分类总数:7 个
  • 最后更新:4月2日

Tpyecho评论无头像时修改默认头像

本文阅读 3 分钟
首页 建站项目 正文
暂无AI摘要
摘要由智能技术生成

今天偶然发现有的博友可能没有注册 Gravatar 头像,导致评论的时候头像会显示默认的一个灰底人头的头像,看着看着觉得不太好看,可见下图。
请输入图片描述

去 Gravatar 官网看了下,发现其实可以修改默认的灰底人头头像,方法也很简单,修改后可以随机出现某种类型图案。

当然网上还有什么使用 QQ 头像替换 Gravatar 头像的之类的方法,但我不太想用,主要不太喜欢各种 API 调用。话不多说,直接看最简单的代码吧!

在主题 comments.php 文件中找到如下代码:

  1. $host = 'https://secure.gravatar.com';
  2. $url = '/avatar/';
  3. $size = '80';
  4. $default = 'mm';
  5. $rating = Helper::options()->commentsAvatarRating;
  6. $hash = md5(strtolower($comments->mail));

可以看到上代码中 $default = 'mm'; 是显示默认代码的,我们只要修改后面的 mm 就可以了。

  1. mm 简约、卡通风格的人物轮廓像(不会随邮箱哈希值变化而变化)。
  2. identicon 几何图案,其形状会随电子邮箱哈希值变化而变化。
  3. monsterid 程序生成的“怪兽”头像,颜色和面孔会随会随电子邮箱哈希值变化而变化。
  4. wavatar 用不同面容和背景组合生成的面孔头像。
  5. retro 程序生成的8位街机像素头像。

请输入图片描述
具体样式对应的单词上面已放出啦,具体效果可以自行修改后查看。

最新新增:有博友问我可否自定义自己的随机图片来作为无头像的显示,其实 Gravatar 官网上有说明。

可以将 $default = 'mm'; 里的 mm 替换为图片地址即可,如下:

  1. $default = 'http%3A%2F%2Fexample.com%2Fimages.jpg';

需要注意的是这个URL链接需要进行URL编码(百度下即可),已确保传输的正确性。

当然你也可以自己写个显示随机图片的 PHP 文件用来显示随机自定义头像,很简单,如下:

  1. <?php
  2. $img_array = glob('images/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE);
  3. if(count($img_array) == 0) die('没找到图片,请上传图片到 '.dirname(__FILE__).'/images/ 文件夹');
  4. header('Content-Type: image/png');
  5. echo(file_get_contents($img_array[array_rand($img_array)]));
  6. ?>

好啦,今天就说这么多啦!

默认主题修改位置 /var/Typecho/common.php第937行;

  1. public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
  2. {
  3. $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
  4. $url .= '/avatar/';
  5. if (!empty($mail)) {
  6. $url .= md5(strtolower(trim($mail)));
  7. }
  8. $url .= '?s=' . $size;
  9. $url .= '&amp;r=' . $rating;
  10. $url .= '&amp;d=' . $default;
  11. return $url;
  12. }

其中d的值就是用来设置默认头像的

更新头像地址

  1. public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
  2. {
  3. $url = $isSecure ? 'https://gravatar.loli.net/avatar/' : 'http://gravatar.duoshuo.com/avatar/';
  4. if (!empty($mail)) {
  5. $url .= md5(strtolower(trim($mail)));
  6. }
  7. $url .= '?s=' . $size;
  8. $url .= '&amp;r=' . $rating;
  9. $url .= '&amp;d=mm' . $default;
  10. return $url;
  11. }
本文来自投稿,不代表本站立场,如若转载,请注明出处:
-- 展开阅读全文 --
愁容满面,只因爱过
« 上一篇 02-21
据说看完的情侣会走得更长久
下一篇 » 02-24

发表评论

  • 泡泡
  • 阿呆
  • 阿鲁
  • 蛆音娘

行为验证™ 安全组件加载中...

V注册会员 L评论等级
R1 条回复
  1. Teacher Du  加拿大
    2020-07-30     Win 10 /    Chrome

    确实是个问题,极其影响访问体验!

没有更多评论了
AI
AI在线
以确保在用户需要帮助时能够及时提供解答和技术支持
您好,这里是「乙未极客」,请问有什么能帮到您?