如何实现zblogPHP站点自动添加图片alt属性

2017年07月26日 17:27:19  阅读 288 次

WordPress 很多主题都已经把自动添加图片 alt 属性当做标配来使用,但是 zblogPHP 很多主题都没有这个功能,只能另行安装一款插件来代替,所以今天就跟大家说一说如何 zblogPHP 站点(主题)自动添加图片 alt 属性。

如何实现zblogPHP站点自动添加图片alt属性 技术文档 第1张

zblogPHP 站点(主题)自动添加图片 alt 属性

PS:这里以 zbpNana 主题为例进行说明,按本文折腾时请自行将代码中的 zbpNana 修改为自己主题名称即可。

第一种做法:强制文章页所有图片 alt 属性为文章标题

1、将以下代码添加到所使用主题的 include.php 文件中,

  1. function zbpNana_tupian_altqz(&$template){
  2.     global $zbp;
  3.     $article = $template->GetTags('article');
  4.     $pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>/i";
  5.     $replacement = '<img alt="'.$article->Title.'" src=$2$3.$4$5/>';
  6.     $content = preg_replace($pattern$replacement$article->Content);
  7.     $article->Content = $content;
  8.     $template->SetTags('article', $article);
  9. }

代码来自豫唐网络的标题SEO插件

PS:这个代码只实现了强制替换图片的 alt 属性,可以自行修改第5行的代码,让其实现强制替换图片的 alt 和 title 属性。

2、在所使用主题的 include.php 文件中,找到以下代码

  1. function ActivePlugin_zbpNana() {
  2.     global $zbp;

在它下方添加以下代码

  1. Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','zbpNana_tupian_altqz');

3、保存更新好 include.php 文件后,登录 zblogPHP 站点后台点击『清空缓存并重新编译模板』后,即可看到文章页的图片 alt 属性都变成文章标题了。

第一种做法:智能为文章页图片添加 alt 和 title 属性

1、将以下代码添加到所使用主题的 include.php 文件中,

  1. function zbpNana_tupian_alt( &$template ){
  2.         global $zbp,$altURL;
  3.         $article = $template->GetTags('article');
  4.         $imgtitle = $article->Title;
  5.         $imgUrl = "<img\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>";
  6.         if(preg_match_all("/$imgUrl/siU",$article->Content,$matches,PREG_SET_ORDER)){
  7.                 if( !emptyempty($matches) ){
  8.                         for ($i=0; $i < count($matches); $i++){
  9.                                 $tag = $url = $matches[$i][0];
  10.                                 $j=$i+1;
  11.                                 $altURL = ' alt="'.$imgtitle.'第'.$j.'张-'.$zbp->name.'" title="'.$imgtitle.'第'.$j.'张-'.$zbp->name.'" ';
  12.                                 $url = rtrim($url,'>');
  13.                                 $url .= $altURL.'>';
  14.                                 $content = str_replace($tag,$url,$article->Content);
  15.                                 $article->Content = $content;
  16.                                 $template->SetTags('article', $article);
  17.                         }
  18.                 }
  19.         }
  20. }

2、在所使用主题的 include.php 文件中,找到以下代码

  1. function ActivePlugin_zbpNana() {
  2.     global $zbp;

在它下方添加以下代码

  1. Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','zbpNana_tupian_alt');

3、保存更新好 include.php 文件后,登录 zblogPHP 站点后台点击『清空缓存并重新编译模板』后,即可看到文章页的图片都存在 alt 和 title 属性。这个功能不会强制替换图片的 alt 和 title 属性,而是图片缺什么属性就自动添加什么属性,添加的内容就是文章标题第几张-站点名称。

比如某张图片使用的时候已经添加了 alt 和 title 属性,就不会再为该图片添加 alt 和 title 属性;如果某张图片只有 alt 属性,那么就会自动为它补上 title 属性;如果某张图片只有 title 属性,就会自动为它补上 alt 属性。

总结

以上两种做法只能选择一种,要么选择智能添加 alt 和 title 属性,要么选择强制性替换图片 alt 属性。至于哪一种方法比较好,这个就要看个人选择了,毕竟对于 SEO,我是不懂的。如果你是主题开发者,其实可以集成这种方法到主题中,然后让用户自行选择启用哪一种功能,比如 zbpNana 主题就是这样。

如何实现zblogPHP站点自动添加图片alt属性 技术文档 第2张

如果文章对你有帮助,请赞赏支持懿古今发展!

历史上的今天:

本文地址:https://www.yigujin.cn/1285.html
版权声明:本文为原创文章,版权归 懿古今 所有,欢迎分享本文,转载请保留出处!
Kindle亚马逊电子书阅读器系列

发表评论


表情

  1. 木子
    木子 【实习】 @回复

    我擦,你这个还是备案的交互式网站!牛的一比,平时是需要记录洒家这些评论者的信息然后递交公安吗?

    • 懿古今
      懿古今【老板】2017-09-29 16:23  回复

      @木子没听说过有这回事,我们是个人博客而已,没有那么严格

  2. 广场舞教学
    广场舞教学 【试用】 @回复

    博主一天都在研究技术,还是该多研究女朋友

    • 懿古今
      懿古今【老板】2017-07-27 22:55  回复

      @广场舞教学[嘻嘻] 作为一个好丈夫只可以研究技术,不可以额外研究女朋友 [偷笑]

  3. 别彧
    别彧 【试用】 @回复

    博主是不是太谦虚了 这么多粉丝硬要说自己也是瞎折腾 让我们这些瞎几把折腾的怎么办?

    • 懿古今
      懿古今【老板】2017-07-27 22:56  回复

      @别彧[嘻嘻] 赚不到的钱的,都不能说自己是专业的,只能说是业余爱好者

  4. 九哥
    九哥 【主管】 @回复

    学习了,博主是技术人才啊~

    • 懿古今
      懿古今【老板】2017-07-27 22:56  回复

      @九哥[嘻嘻] 也就是偶尔折腾折腾

  5. Koolight
    Koolight 【副总】 @回复

    厉害,博主进入状态很快!

  6. 我爱动感单车网
    我爱动感单车网 【副总】 @回复

    我一直来都是手动添加,一是习惯了,二则想添加什么就添加什么,免得被这么规定死了。再有,反正更新不是很频繁,以及每天更新的文章也不多。

    • 懿古今
      懿古今【老板】2017-07-27 22:57  回复

      @我爱动感单车网[威武] 这种方法非常好,也是我一直提倡的,可惜我前面是可以做到,后面也懒了,直接让它自动添加了

  7. 姜辰
    姜辰 【经理】 @回复

    感觉博主还是能钻研

    • 懿古今
      懿古今【老板】2017-07-27 22:57  回复

      @姜辰[嘻嘻] 我还是比较喜欢折腾WordPress,zblog偶尔折腾一下

  8. BD影视分享网
    BD影视分享网 【副总】 @回复

    wordpress就是加载速度没zblog快
    其他功能完胜zblog

    • 我爱动感单车网
      我爱动感单车网 【副总】2017-07-27 05:30  回复

      @BD影视分享网确实是,zblog的速度快多了。

    • 懿古今
      懿古今【老板】2017-07-27 22:59  回复

      @BD影视分享网是的,zblog的速度快感觉就是在减少很多功能上,如果WordPress也抛弃很多功能的话,速度应该也能上去