无需插件WordPress内容图片自动加上 alt 和 title 属性 提高搜索引擎友好度

从SEO角度考虑,我们在网站内容中的每一张图片需要加上 alt 和 title 属性参数,这样一来可以提高用户的阅读体验,二来也是搜索引擎喜欢抓取图片的保障。但是默认的WordPress在插入图片的时候是没有加入图片这两个属性的,即便我们有些时候会人为的手工添加,但是有些时候还会忘记。

无需插件WordPress内容图片自动加上 alt 和 title 属性 提高搜索引擎友好度

有没有一个高效的办法可以自动加 alt 和 title 属性的,这里我们可以用到插件实现,当然我们也可以直接用到代码实现。

//内容图片添加alt和title 
function image_alttitle( $imgalttitle ){
global $post;
$category = get_the_category();
$flname=$category[0]->cat_name;
$btitle = get_bloginfo();
$imgtitle = $post->post_title;
$imgUrl = "<img\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>";
if(preg_match_all("/$imgUrl/siU",$imgalttitle,$matches,PREG_SET_ORDER)){
if( !empty($matches) ){
for ($i=0; $i < count($matches); $i++){
$tag = $url = $matches[$i][0];
$j=$i+1;
$judge = '/title=/';
preg_match($judge,$tag,$match,PREG_OFFSET_CAPTURE);
if( count($match) < 1 )
$altURL = ' alt="'.$imgtitle.' '.$flname.' 第'.$j.'张" title="'.$imgtitle.' '.$flname.' 第'.$j.'张-'.$btitle.'" ';
$url = rtrim($url,'>');
$url .= $altURL.'>';
$imgalttitle = str_replace($tag,$url,$imgalttitle);
}
}
}
return $imgalttitle;
}
add_filter( 'the_content','image_alttitle');

如果我们使用以上的代码,最后会实现 alt 属性为”文章标题 分类名称 第几张”,title 属性为”文章标题 分类名称 第几张-站点名称”。

或者我们也可以用下面代码实现:

//图片自动加上alt属性
function image_alt_tag($content){
global $post;preg_match_all('/<img (.*?)\/>/', $content, $images);
if(!is_null($images)) {foreach($images[1] as $index => $value)
{
$new_img = str_replace('<img', '<img alt="'.get_the_title().'-'.get_bloginfo('name').'"', $images[0][$index]);
$content = str_replace($images[0][$index], $new_img, $content);}}
return $content;
}
add_filter('the_content', 'image_alt_tag', 99999);

我们选择一个就可以。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享