MkLetterAvatar:Typecho 评论区自动生成昵称首字头像
前言:评论区为什么总是灰色头像
用 Typecho 建站的朋友大概都遇到过这个场面:评论区里一片清一色的灰色小人剪影,或者干脆裂图。原因很简单——Typecho 默认用 Gravatar 显示评论头像,而绝大多数访客根本没有注册过 Gravatar,Gravatar 在国内访问还经常抽风,头像就只能显示默认图,难看不说,还分不清谁是谁。
今天分享的这个插件就是解决这个问题的:MkLetterAvatar(Typecho 版)。它会给没有头像的评论者自动生成一张“昵称首字头像”:彩色底 + 昵称第一个字,每个人的颜色按名字固定,一眼就能分清谁是谁,评论区立刻有了人味。

干什么用
一句话:没头像的评论者,自动用昵称首字生成一张专属头像。
具体效果是这样的:
- 昵称首字:比如评论者叫“零距离”,头像就是彩色底上一个“零”字;叫 docker,头像就是一个字母 d。
- 颜色按人固定:颜色是按昵称首字的编码从 20 色里取的,同一个人在所有文章下的头像颜色都一样,辨识度很高。
- 有头像的人不受影响:注册过 Gravatar 的评论者继续显示自己的真实头像,插件不会动它。
- QQ 邮箱评论者不受影响:在 Joe 主题下,QQ 邮箱本来走 QQ 头像,插件同样不会动。
- 不产生服务器缓存:头像完全在访客浏览器里用 Canvas 现场画出来,服务器上不生成任何图片文件,干净、省空间。
- 体积小:整个插件只有一个 PHP 文件,不到 10KB。
这个插件从哪来
这个插件不是凭空写的,它有一条清晰的来源线:
- 原版是 WordPress 插件 mk-letter-avatar,作者是孟坤(mengkun)。它的思路很巧妙:把头像地址的默认图参数改成
d=404试探——有真实头像就正常显示,没有就让浏览器现场画一张字母头像。整个原版不到 5KB,纯前端实现。 - 本站长把它 fork 到了自己的 GitHub(yeyinghai/mk-letter-avatar),作为这个小工具的落脚点。
- Typecho 版是在原版基础上移植的:WordPress 靠
get_avatar过滤器改写头像标签,Typecho 没有这个过滤器,所以移植版把同样的逻辑搬到了前端——脚本随页面输出,先试探头像地址有没有真实头像,没有才换成字母头像。生成算法、颜色列表、只取首字、过滤 emoji 这些核心逻辑与原版完全一致,功能没有打折。
也就是说:这是一个有年头的成熟思路,只是第一次被完整地搬到 Typecho 上。
安装方法
一共三步,不用改代码:
- 下载插件包:点此下载 MkLetterAvatar.zip;
- 解压后把
MkLetterAvatar文件夹上传到 Typecho 的usr/plugins/目录下(最终路径是usr/plugins/MkLetterAvatar/Plugin.php); - 进博客后台「控制台 → 插件」,找到「MK 字母头像」点启用,完事。
启用后不需要任何设置,默认配置就能直接用。插件提供了两个可选设置项,需要时再动:
- 头像图片选择器:默认
img.avatar。Typecho 默认主题和 Joe 主题的评论头像都是这个类名,一般不用改。 - 头像背景颜色列表:默认 20 个颜色,空格分隔,可以按自己的喜好增删改。
实测效果
这个插件已经在本站(夜影小窝)启用并实测过。拿本站一篇有评论的文章看效果:
- 未注册 Gravatar 的评论者,头像变成了彩色底 + 昵称首字;
- 站长本人的真实头像保持不变;
- 整个评论区的头像加载正常,没有裂图和空白。

注意事项
- 主题要支持页脚钩子:插件的脚本是挂在 Typecho 的页眉/页脚钩子上输出的,绝大多数主题(包括 Joe)都支持;极少数自定义主题如果没有调用页脚输出,插件会不生效,这种情况换回标准主题模板即可。
- 头像源可以继续用 Cravatar:本站把头像源换成了 Cravatar,配合这个插件是最佳组合——有头像的拉真实头像、拉不到的现场生成字母头像、QQ 邮箱的走 QQ 头像,三条线互不干扰。
- 换颜色立即生效:在插件设置里改了颜色列表后,刷新页面就能看到新颜色,不用清任何缓存(因为本来就没有缓存)。
- 如果头像没有变化:先确认插件已启用,再看主题评论头像是不是
img.avatar这个类名;如果主题用了别的类名,在插件设置里把选择器改成对应的类名即可。
卸载方法
同样简单:后台「控制台 → 插件」里禁用「MK 字母头像」,再把 usr/plugins/MkLetterAvatar/ 文件夹删掉,评论头像就恢复到启用前的状态,不会在数据库和服务器上留下任何东西。
写在最后
评论区是博客最有人气的地方,一排灰色默认头像实在煞风景。这个插件不改数据库、不占空间、不依赖外部头像服务,就让每个评论者都有了自己的脸。如果你也在用 Typecho,不妨装上试试。
下载
- 点此下载 MkLetterAvatar.zip(Typecho 版,解压后上传到
usr/plugins/启用)
相关旧文
- Vaultwarden 自建密码库:Docker 一键部署 + 多端同步实测 —— 博客常用自建服务之一
- Dockhand 开源 Docker 可视化管理面板:群晖 NAS 一键部署实战 —— 自建服务管理起来更顺手


评论 (0)