Alt信息

对于每一张图片,都应该认真填写其对应的描述信息。
但有时候发一篇文章,动辄十多张图片,每一张图片逐一添加,工作量很是巨大。但是不填又不利于SEO,所以就有了退而求其次的方案,即对于无alt信息的图片,自动添加当前的标题至图片的alt信息。

原理

  • 通过自定义过滤器,筛选出文章中所有<img />标签
  • 对没有alt信息的img标签加入alt="文章标题"标签
  • 输出增加标签之后文章

食用方法

编辑主题文件夹下的functions.php文件,加入以下代码:

/*
* 图片添加alt属性
*/
function img_alt( $imgalt ){
global $post;
$title = $post->post_title;
$imgUrl = "<img\s[^>]*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','img_alt');

效果图如下

轻刻年轮


我没有奢望,我只想你快乐,没有哀伤。