WordPress 5 如果图片没有Alt标签的自动添加Alt

写文章很少特意去加图片的Alt标签,导致图片都没有Alt标签,这样搜索引擎就不知道图片的信息,所以WordPress图片自动添加Alt标签还是很有必要的。

网上看到的WordPress文章图片自动添加Alt标签方法基本都不能使用,或者说不能在WordPress 5上正常使用,主要是正则出了问题,WordPress 5中默认是带有alt=""标签的,只是为空,老版本的没去看。

下面是体验盒子修改的正常可用的版本

WordPress 5中把没有Alt标签的图片自动添加Alt标签

也可以理解为自动为wordpress文章图片添加alt属性/wordpress图片自动添加alt属性

将下面片段放入functions.php文件中,搜索文章内容中没有alt属性的图片。如果没有alt属性,或者alt="",则此函数将使用默认的帖子标题添加它。

/*
 * uedbox.com
 * wordpress图片自动添加Alt属性
 * 通过自定义过滤器,筛选出文章中所有<img />标签
 * 对没有alt信息的img标签加入alt=”文章标题”标签
*/
function image_alt_tag( $content ) {
	global $post;
	$title = $post->post_title;
	preg_match_all( '/<img (.*?)\/>/', $content, $images );
	if ( ! is_null( $images ) ) {
		foreach ( $images[1] as $index => $value ) {
			if ( preg_match( '/alt=""/', $value ) && preg_match( '/alt/', $value ) ) {
				$new_img = str_replace( '<img', '<img alt="' . $title . '"', $images[0][ $index ] );
				$content = str_replace( $images[0][ $index ], $new_img, $content );
			}
		}
	}

	return $content;
}

add_filter( 'the_content', 'add_alt_tags', 99999 );