重华部落格 - Avatar
type: channel
link: http://hechonghua.com/tag/Avatar/
items: 为Avatar头像添加ALT属性

为Avatar头像添加ALT属性
type: item
date: 2014-11-24T22:44:09+08:00
description: 我们知道图片的ALT属性对于图片的SEO来说非常重要，搜索引擎索引图片，基本上很大程度依赖于您的图片的ALT属性，对于用户来说，在图片无法加载的时候，也会显示这张图片的相关信息，一定程度上提高了用户的体验。我们平常在使用百度站长工具或者其它的一些SEO检查工具检查时，会发现你的评论的头像是没有ALT属性的，为此被扣了大量的分数。对于文章中图片我们可以使用下面的代码：function image_alt( $imgalt ){ global $post; $title = $post->post_title; $imgUrl = "]*src=("??)([^" >]*?)1[^>]*>"; if(preg_match_all("/$imgUrl/siU",$imgalt,$matches,PREG_SET_ORDER)){ if( !empty($matches) ){ for ($i=0; $i < count($matches); $i++){ $tag = $url = $matches[$i][0]; $judge = '/alt=/'; preg_match($judge,$tag,$match,PREG_OFFSET_CAPTURE); if( count($match) < 1 ) $altURL = ' alt="'.$title.'" '; $url = rtrim($url,'>'); $url .= $altURL.'>'; $imgalt = str_replace($tag,$url,$imgalt); } } } return $imgalt; } add_filter( 'the_content','image_alt');但是对于评论头像，这段代码是无效的，仅在文章内容中才有效，那么如何为评论头像也添加ALT属性呢。其实也很简单，网上也有很多这类代码，但是，大多数是叫你在wp-includes/pluggable.php文件中修改，问题是，一旦WordPress更新，这个文件会被覆盖掉，所以不推荐这个方法，还是修改functions.php文件比较现实。在functions.php文件中找到类似于下面的这段代码：<?php echo get_avatar( $comment, 75 ); ?>get_avatar()函数有四个参数，完整的如下，分别是评论者的邮件、头像大小、默认头像、ALT的值：<?php echo get_avatar( $id_or_email, $size, $default, $alt ); ?>上面的代码仅仅使用了其中的两个，所以我们只要补全其余的两个参数就可以了。将这段代码修改成：<?php echo get_avatar( $comment, 75, '', get_comment_author() ); ?>这里，我使用评论者的用户名作为评论者自己头像的ALT文本，您也可以指定为任何文本，比如说您的博客名。效果如下源代码中的显示从上面可以看出，不仅是对于WordPress自己的Avatar服务器有效，同样适用于使用多说的Avatar服务器。