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

很多新手站长都不知道图片的alt、title属性有什么作用,以至于很多文章都没设置这两个属性,当知道会影响SEO时,发现文章太多,手动添加累得不行,今天给大家带来一段WordPress代码自动添加为文章图片添加alt、title属性。

其实这个问题的解决办法非常简单,无非是利用WordPress钩子,当WordPress在加载文章内容时,使用正则替换掉内容而已,鉴于群员不停的问这个问题,我就写上这篇教程,帮他一把咯。

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.'">';

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

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

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

给TA打赏
共{{data.count}}人
人已打赏
建站教程

宝塔面板启用memcached、Batcache加速你的博客

2019-9-5 13:26:22

建站教程

Nginx/Apache/IIS环境WordPress伪静态规则

2019-9-5 13:29:32

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索