• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

    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属性功能的关键!

      你需要登录,才能进行发帖操作