最近在做seo优化,并且通过了百度统计SEO建议。在优化时有一个项目是图片的alt属性,于是网上找了方法,该方法没有判断功能。话说主机之家测评之前并没有注意,直接添加代码来自动添加ALT属性,效果不理想,因为这个代码不完善,无论你是否添加alt属性都一概覆盖成标题,需要把alt属性放到src前面才不会被替换,秉持着完美主义情节,花了点时间修改了站外链接添加nofollow的代码来实现判断是否有alt属性并自动添加alt属性,测试后十分完美。
wordpress-480x259.png" alt="1651287965 Wordpress" width="480" height="259" title="WordPress:判断并自动添加图片ALT属性 5" srcset="https://www.52pchome.com/wp-content/uploads/2019/08/1651287965-Wordpress-480x259.png 480w, https://www.52pchome.com/wp-content/uploads/2019/08/1651287965-Wordpress-820x443.png 820w, https://www.52pchome.com/wp-content/uploads/2019/08/1651287965-Wordpress-768x415.png 768w, https://www.52pchome.com/wp-content/uploads/2019/08/1651287965-Wordpress.png 1010w" sizes="(max-width: 480px) 100vw, 480px" />
直接将下面代码丢进functions.php即可:
//Wordpress判断并自动添加图片ALT属性(https://www.52pchome.com/15114.html)
function image_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','image_alt');
修改好后别忘记上传替换原来的文件,至此,你无需担心是否遗漏alt属性,并且可以随自己的喜好添加个性的alt属性,一切都如此简单,就因为这串代码的存在,好好利用这串代码丰富你的网站功能吧!


















