使用Wordpress发布文章时,上传图片的时候是不会自动添加ALT和TITLE标签的。虽然这些对于用户阅读来讲可能无关紧要,但是站在搜索引擎和SEO的角度来讲,为图片添加ALT和TITLE标签又显得很有必要,在百度站长工具提供的网站SEO诊断功能中,就有一项图片属性是否加上alt描述的检测。
对于经常更新文章的站长来说,手动为图片添加这些属性明显又很费力。
当然WordPress有相关的插件可以实现自动为图片添加ALT和TITLE标签的插件,不过多少可能占用服务器资源,其实纯代码也是可以实现为图片自动添加alt标签,只需把下面代码添加WordPress主题functions.php文件即可。
- //WordPress 自动给图片添加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( !emptyempty($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.'第'.$j.'张" title="'.$imgtitle.'第'.$j.'张-'.$btitle.'" ';
- $url = rtrim($url,'>');
- $url .= $altURL.'>';
- $imgalttitle = str_replace($tag,$url,$imgalttitle);
- }
- }
- }
- return $imgalttitle;
- }
- add_filter( 'the_content','image_alttitle');