不知道为什么,wordpress 几乎所有的博客头像标签都没加 alt!但是懂 SEO 的都知道,图片的 alt 属性是一定要加的,搜索引擎的爬虫是无法读取图片上到底是什么内容的,只能靠它的 alt 标签,没有了 alt 标签的图片,对 SEO 是非常不好的。抛开这个不说,反正加上 alt 标签又不会出什么问题,还是加上的好。
WordPress 默认使用的是 Gravatar 头像,通过 get_avatar() 函数调用:
1
|
<?phpechoget_avatar($id_or_email,$size,$default,$alt);?>
|
利用 get_avatar() 函数的第四个属性 $alt 可以设置返回代码的 alt 标签,但是大多数人在使用的时候都不会去设置,也就变成了空白。
要给 wordpress 评论里面的头像加上 alt 标签,有以下 2 种方法。
第一种:修改代码中评论头像的调用方式
只需在调用头像的地方将第四个参数都填进去即可,第四个参数即是 alt…比如留言评论上,像下面这样改:
1
|
echo get_avatar($comment,$size=’32’,$default=get_bloginfo(‘wpurl’).‘/avatar/default.jpg’,get_comment_author());
|
第二种:自定义头像图片的 Alt 标签
在 functions.php 中加入下面的代码,摘自 @EndSkin:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/**
* WordPress 自定义头像图片的 alt 标签
*
*/
functionlxtx_avatar_alt($avatar,$id_or_email){
if($id_or_email==‘博主的email地址’||$id_or_email===1){//填上博主的email地址
$alt=‘博主 Gravatar 头像’;//博主的 alt 标签内容
}else{
$alt=‘Gravatar 头像’;//普通访客的 alt 标签内容
}
$before=strpos($avatar,“alt='”);
$after=strpos($avatar,“‘”,$before);
if($before===false||$after===false)return$avatar;
$alt=esc_attr($alt);
returnsubstr($avatar,0,$before).“alt=’$alt”.substr($avatar,$after+strlen(“‘”));
}
add_filter(‘get_avatar’,‘lxtx_avatar_alt’,10,2);
|
当然,也可以参考下面这个头像本地化缓存的方法~