目的

typecho评论默认显示的头像是Gravatar头像,我想改成这样的:
如果是QQ邮箱,就显示QQ头像,
如果不是,就使用随机头像。

实现

在模板的comments.php文件中搜索gravatar

Typecho 将评论头像从Gravatar改成显示QQ头像

上面标记的那行替换成下面的代码

<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://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture" width="46px" height="46px" style="border-radius: 50%;float: left;margin-top: 0px;margin-right: 10px;margin-bottom:-2px">';
}
?>
</span>

Typecho 将评论头像从Gravatar改成显示QQ头像

刷新页面,提交评论,就可以看到效果了。

Typecho 将评论头像从Gravatar改成显示QQ头像

更多

上面的代码中的https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture是调用必应每日图片的接口。

同样也可以使用其他的api。

比如下面这几个:

接口: https://acg.toubiec.cn/random.php
来源于[项目]随机二次元图片API-已经开源 - 苏晓晴-温馨的技术博客

http://acg.bakayun.cn/randbg.php(6000+ | 东方project可选 | 多尺寸)
来源于⑨ACG —— 随机二次元图片API

http://www.dmoe.cc/random.php(1000+)出处(・ω・)ノ
来源于随机二次元图片API - 微尘博客


参考
typecho将Gravatar头像改为QQ头像 - kali博客