逍遥子

typecho将Gravatar头像改为QQ头像
前言相信大部分做过网站的朋友都知道,Gravatar 是一个全球性的头像设置平台,除中国以外大部分网站都是调用的此...
扫描右侧二维码阅读全文
18
2018/10

typecho将Gravatar头像改为QQ头像

前言

相信大部分做过网站的朋友都知道,Gravatar 是一个全球性的头像设置平台,除中国以外大部分网站都是调用的此平台头像,但因为我们伟大的祖国有一般人射不穿的城墙(网友们都懂的๑乛◡乛๑),所以用这个头像平台的用户很少,导致大部分使用此头像平台的网站,评论区总会有很多 Gravatar 官方头像。

QQ截图20181018231114.png

定位文件

找到主题下的comments.php文件,查找关键字gravatar
我们会发现下面一段语句

<?php $comments->gravatar('40', ''); ?>

1.png

果断删掉$comments->gravatar('40', '');,再去文章页刷新一看,头像果然消失了,这时我们再重新输出一个 img 标签就好了。
接下来搞定头像获取就好啦,去数据库看了看,存邮箱的字段名是 mail,所以获取内容应该是$comments->mail;,先 new 个变量获取下邮箱吧$number=$comments->mail;

接下来就好说了,把接口里的"QQ 号"改为"$number",然后 echo 一下就好喽。

<span itemprop="image"><?php $number=$comments->mail; echo '<img src="https://q2.qlogo.cn/headimg_dl? bs='.$number.'&dst_uin='.$number.'&dst_uin='.$number.'&;dst_uin='.$number.'&spec=100&url_enc=0&referer=bu_interface&term_type=PC" width="46px" height="46px" style="border-radius: 50%;float: left;margin-top: 0px;margin-right: 10px;margin-bottom:-2px">'; ?></span>

2.png

总结

即用第二条语句把原来的<?php $comments->gravatar('40', ''); ?>替换掉即可。

效果

4.png

更新

在通常情况下,当用户输入了QQ邮箱,我们的头像才会调用为QQ头像。但是假如用户使用的是163邮箱或者是其他邮箱,那么头像肯定会显示失败。那么该怎样解决这个问题呢?其实也很简单,我们放个if判断语句就行了。先判断输入的邮箱是不是QQ邮箱,如果是调用QQ邮箱,如果不是则调用Gravatar头像或者其他的静态头像,或者随机头像即可。

更新代码

<span itemprop="image"><?php $number=$comments->mail;
if(preg_match('|^[1-9]\d{4,11}@qq\.com$|i',$number)){
echo '<img src="https://q2.qlogo.cn/headimg_dl? bs='.$number.'&dst_uin='.$number.'&dst_uin='.$number.'&;dst_uin='.$number.'&spec=100&url_enc=0&referer=bu_interface&term_type=PC" width="46px" height="46px" style="border-radius: 50%;float: left;margin-top: 0px;margin-right: 10px;margin-bottom:-2px">'; 
}else{
echo '<img src="https://lorempixel.com/46/46/" width="46px" height="46px" style="border-radius: 50%;float: left;margin-top: 0px;margin-right: 10px;margin-bottom:-2px">';
}
?>
</span>

整理的随机图片API接口

速度: ★★★★★

功能: 返回Bing的随机图片

地址: https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture

速度: ★★★★★

功能: 返回随机图片, 需指定分辨率, 如果指定的分辨率没有找到图片则返回空页面

地址: http://lorempixel.com/1600/900

速度: ★★★★☆

功能: 来自github的项目https://github.com/xCss/bing

地址: https://bing.ioliu.cn/v1/rand (返回随机图片)

https://bing.ioliu.cn/v1/rand?w=1920&h=1200 (指定大小)

Last modification:January 6th, 2019 at 11:00 pm
正在沿街乞讨中……

Leave a Comment

14 comments

  1. 酷酷的二货 Google Chrome 76.0.3809.100 Windows 10 中国 上海 上海

    我的comments.php文件里没有<?php $comments->gravatar('40', ''); ?>怎么弄?

  2. 云武 Google Chrome 76.0.3809.87 Windows 10 中国 浙江 金华

    你们都是主动并泄露访客QQ的人。

  3. 逃不开的宿命 QQ浏览器 10.3.2601.400 Windows 10 中国 浙江 金华

    测试

    1. 逍遥子 搜狗浏览器 Build Android 9 中国 江苏 扬州
  4. 美好时光 非主流浏览器 非主流操作系统 GOOGLE.COM GOOGLE.COM

  5. Google Chrome 74.0.3729.131 Windows 10 中国 山东 青岛

  6. 冰·Sky QQ浏览器 9.0.1 iPhone 12.0 中国 福建 泉州

    测试

  7. chao ren Google Chrome 71.0.3578.98 Windows 10 中国 吉林

    感谢分享

    1. 逍遥子 搜狗浏览器 Build Android 8.1.0 中国 甘肃
      @chao ren

      没事,相互学习!😀

  8. 雨致 Google Chrome 63.0.3239.132 Windows 7 中国 浙江

    谢谢,测试成功!OωO

    1. priess 搜狗浏览器 Build Android 8.1.0 中国 甘肃 陇南
      @雨致

      没事,相互学习。

  9. 深水的鱼 搜狗浏览器 Build Android 8.1.0 中国 甘肃 陇南

    谢谢作者分享,问题解决了!

    1. priess 搜狗浏览器 Build Android 8.1.0 中国 甘肃 陇南
    2. priess 搜狗浏览器 Build Android 8.1.0 中国 甘肃 陇南
      @深水的鱼

      嗯嗯,你高兴就好!