### [WordPress之用字母替代图片脚本:LetterAvatar](https://www.prosaas.cn/article/9050) **Published:** 2020-04-21T05:55:14 **Author:** 5201314 **Excerpt:** 下面由WordPress技巧栏目给大家介绍关于用字母替代图片脚本:LetterAvatar,希望对需要的朋友有… **** 下面由WordPress技巧栏目给大家介绍关于用字母替代图片脚本:LetterAvatar,希望对需要的朋友有所帮助! 基于canvas,通过toDataURL动态生成base64图片。目前我主题的Gravatar头像,就是利用这个LetterAvatar脚本实现未设置Gravatar头像则读取ALT标签,自动生成首字图片替代默认的头像图片。  之前已有WP爱好者制作了一款:mk-letter-avatar 字母头像插件,试了一下很好用,不过打开浏览器开者工具发现产生大量404错误,看了一下源代码,该插件是通过无头像返回404错误,触发onerror事件用自动生成的字母图片替换src图片地址,判断方式不是很合理,如果不是因为个缺点我都想直接拿来用了,如果作者再优化一下,绝对是款优秀实用的插件。 我的实现原理和插件不同,配合头像本地缓存功能,判断无头像后,直接为无头像的图片添加特定的class类,然后通过LetterAvatar脚本替换图片。 需要注意的是上面提到的插件,Gravatar头像图片必须有alt标签属性,否则不会生成正常的图片,可惜大部分主题默认Gravatar头像alt标签属性是空的..... 如果想自动为Gravatar头像添加alt标签属性,可以将下面的代码添加到当前主题函数模板functions.php中: function zm\_gravatar\_alt($altgravatar) { if (have\_comments()) { $alt = get\_comment\_author(); } else { $alt = get\_the\_author\_meta('display\_name'); } $altgravatar= str\_replace('alt=\\'\\'', 'alt=\\'' . $alt . '\\' title=\\'Gravatar for ' . $alt . '\\'', $altgravatar); return $altgravatar; } add\_filter('get\_avatar', 'zm\_gravatar\_alt'); 之后,自动将评论者昵称做为alt属性。 本文只是自己做个记录,并不是教大家怎么弄这个头像,如果认为这字母头像还不错,请直接使用上面介绍的插件。 另附LetterAvatar脚本演示代码:
<img src="" class="avatar photo" width="256" height="256" alt="知更鸟" color="#c40000">