前言

今天干了一件蠢事,白白浪费好几个小时。

那就是最近换了个服务器,把wordpress给迁移了,而且wordpress看久了也是一点新意都没有,其中一条就是评论区的头像一模一样,都不知道谁是谁。

于是我就在想它能不能像国内几个评论插件那样,可以通过各个avatar那样通过邮箱获取头像并把它展示出来。。。

于是就千方百计的折腾。

折腾过程

目前wordpress评论系统是WpDiscuz。

在它自身【设置】-【评论线程特性】中可以填写头像URL,于是我就把各个avatar服务商的URL都试了一下,发现不行啊,根本识别不了。。。好像它根本无法获取到邮箱的MD5值。

然后!

  1. 尝试通过修改 function.php 来获取邮箱,并传递到avatar服务商对应的接口

    这个方法对我来说有点难,毕竟不是专业的,于是找DeepSeek和ChatGPT,让他们帮我写代码,我照抄就行,最后尝试了几十次,都是失败告终。

    其实也不能说是失败,因为他们给的代码其实是正确的,但是显示的前提必须是要将现有的WpDiscuz禁用掉

  2. 舍弃WpDiscuz,尝试修改 comments.php 文件直接加载国内的Twikoo或者Waline

    这个别说了,试了十几分钟发现太难了,无力。。。

  3. 怀疑是某个插件或者主题冲突

    只保留WpDiscuz插件,其他全部禁用,主题也换了个最基础的主题,修改WpDiscuz的头像URL,还是不行。。。

就上面这些来回捣鼓,就足足浪费了我几个小时。

最后,其实已经准备放弃了,就去逛逛几个avatar服务商的官网看看怎么传递邮箱的MD5。。。

万万没想到,众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。

果然还是官网靠谱,都有针对wordpress的集成。

示例一:Cravatar

官网地址:为 WordPress 集成 - Cravatar 开发文档

示例二:WeAvatar

官网地址:文档 - WeAvatar

因为我一开始接触的是WeAvatar,所以这次也就根据WeAvatar的文档来。

我本以为以上作业照抄就行,但是还是稍微有点问题:

照抄之后,仅仅只有后台评论板块才能显示头像,前端页面仍然显示的是通用的默认头像。

真的把我搞糊涂了,百思不得其解。

就在这时,我突然灵光一现,有没有可能是与WpDiscuz的头像URL冲突了?

于是进设置里面想了一下,一不做二不休,直接把取消【显示头像】,【用户默认头像源URL】和【游客默认头像源URL】的内容删除,取消【启用默认头像的站点使用范围】。还别说,尝试一下之后访问前端直接没头像了,正好来了点灵感,把【显示头像】和【启用默认头像的站点使用范围】开启试一下,也就是头像的活不要WpDiscuz干了,让它一边去,只要把头像显示出来就行,具体显示什么,由WeAvatar说了算。

最后保存后访问一下页面,发现还真可以这样。

结尾

暑假很少玩服务器,今天这一下子把我整的风中凌乱了,最大的忌讳就是没有先去官网查文档,吃了文化的亏啊。