WordPress代码实现自动为文章中的图片添加alt、title属性

05/04/201908:00:34 发表评论 287个阅读者

很多WordPress站长都不知道图片的alt、title属性对网站搜索引擎SEO优化有非常大的作用。所以很多童鞋的文章都没设置这两个属性,

当知道会影响WordPress网站的SEO时,这个时候发现写的文章太多,只能一篇一篇的进行修改。

那么有没有什么简单易行的方法能够快速的添加为文章图片添加alt、title属性。

其实这个问题的解决办法非常简单,可以利用WordPress钩子,当WordPress在加载文章内容时,使用正则替换掉。

可以使用WordPress代码自动添加为文章图片添加alt、title属性。

WordPress代码

将下面代码加载你主题目录下的functions.php文件中,即可自动为文章内图片添加上alt、title属性。

function imgcreate($content){
//匹配图片地址正则,如果你的img标签没有class属性你可以使用这个正则
$preg = "/<img.*?src=[\"|\'](.*?)[\"|\'].*?>/";
//匹配图片class属性与src属性正则,如需替换更多自行添加。
$preg1 = "/<img.*?class=[\"|\'](.*?)[\"|\'].*?src=[\"|\'](.*?)[\"|\'].*?>/";
//用来替换的alt属性值
$alt = "1234";
//用来替换的title属性值
$title = "123456";
//采用替换class与src正则使用
$img = '<img class="$1" src="$2" alt="'.$alt.'"title="'.$title.'">';
//采用替换src正则使用
//$img = '<img src="$1" alt="'.$alt.'"title="'.$title.'">';
//执行正则替换
$content = preg_replace($preg1,$img,$content);
return $content;
}
//加载文章内容的触发钩子函数
add_action('the_content','imgcreate');

根据你的文章图片代码,自行选择使用哪种正则即可。

如果需要扩展正则匹配更多内容,比如你还需要匹配width属性,那么可以参考下面的写法:

正则表达式匹配class、src、width:

$preg1 = "/<img.*?class=[\"|\'](.*?)[\"|\'].*?src=[\"|\'](.*?)[\"|\'].*?width=[\"|\'](.*?)[\"|\'].*?>/";

重构img标签HTML代码:

$img = '<img class="$1" src="$2" width="$3" alt="'.$alt.'"title="'.$title.'">';

我写这么多内容就是为了让大家看出其中的规律,别老想着找到完全和自己心意的代码,有那功夫还不如仔细读读这篇文章,读懂了你要怎样替换都行。效果如下图:

假如你的文章图片没有class属性,而你使用了含有匹配图片class属性的正则,那么你的正则将会实现,匹配不到任何值,所以准确选择自己需要的正则才是实现自动为文章图片添加alt、title属性功能的关键。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: