不知道为什么,wordpress 几乎所有的博客头像标签都没加 alt!但是懂 SEO 的都知道,图片的 alt 属性是一定要加的,搜索引擎的爬虫是无法读取图片上到底是什么内容的,只能靠它的 alt 标签,没有了 alt 标签的图片,对 SEO 是非常不好的。抛开这个不说,反正加上 alt 标签又不会出什么问题,还是加上的好。
WordPress 默认使用的是 Gravatar 头像,通过 get_avatar() 函数调用:
<?php echo get_avatar( $id_or_email, $size, $default, $alt ); ?>
利用 get_avatar() 函数的第四个属性 $alt 可以设置返回代码的 alt 标签,但是大多数人在使用的时候都不会去设置,也就变成了空白。
要给 wordpress 评论里面的头像加上 alt 标签,有以下 2 种方法。
第一种:修改代码中评论头像的调用方式
只需在调用头像的地方将第四个参数都填进去即可,第四个参数即是 alt...比如留言评论上,像下面这样改:
echo get_avatar( $comment, $size = '32', $default = get_bloginfo('wpurl').'/avatar/default.jpg',get_comment_author());
第二种:自定义头像图片的 alt 标签
在 functions.php 中加入下面的代码,摘自 @EndSkin:
/**
* WordPress 自定义头像图片的 alt 标签 By ILXTX.COM
* https://www.ilxtx.com/wordpress-avatar-alt.html
*/
function lxtx_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 );
return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'lxtx_avatar_alt', 10, 2 );
当然,也可以参考下面这个头像本地化缓存的方法~
还没有人赞赏,快来当第一个赞赏的人吧!
本文为原创文章,版权归龙笑天下所有,欢迎分享本文,转载请保留出处!