前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >typecho将Gravatar头像改为QQ头像

typecho将Gravatar头像改为QQ头像

作者头像
逍遥子大表哥
发布2021-12-17 14:34:03
5.2K0
发布2021-12-17 14:34:03
举报
文章被收录于专栏:kali blog

前言

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

定位文件

找到主题下的comments.php文件,查找关键字gravatar

我们会发现下面一段语句

代码语言:javascript
复制
<?php $comments->gravatar('40', ''); ?>

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

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

代码语言:javascript
复制
<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>

总结

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

效果

更新

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

更新代码

代码语言:javascript
复制
<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 (指定大小)

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1920616

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 定位文件
  • 总结
  • 效果
  • 更新
    • 更新代码
      • 整理的随机图片API接口
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档