WordPress之用字母替代图片脚本:LetterAvatar

下面由WordPress技巧栏目给大家介绍关于用字母替代图片脚本:LetterAvatar,希望对需要的朋友有所帮助!

基于canvas,通过toDataURL动态生成base64图片。目前我主题的Gravatar头像,就是利用这个LetterAvatar脚本实现未设置Gravatar头像则读取ALT标签,自动生成首字图片替代默认的头像图片。

WordPress之用字母替代图片脚本:LetterAvatar

之前已有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脚本演示代码:

<!DOCTYPE html>
<html>
<h1>Letter Avatar</h1>
 
<small><strong>用法:</strong></small>
<pre>
<code>&lt;img src=https://www.php.cn/cms/wordpress/"" class="avatar photo" width="256" height="256" alt="知更鸟" color="#c40000">

WordPress之用字母替代图片脚本:LetterAvatar
WordPress之用字母替代图片脚本:LetterAvatar
WordPress之用字母替代图片脚本:LetterAvatar



原项目地址:https://github.com/daolavi/LetterAvatar

推荐教程:《WordPress

以上就是WordPress之用字母替代图片脚本:LetterAvatar的详细内容,更多请关注php中文网其它相关文章!