立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 3515|回复: 0

[Wordpress 通用教程] WordPress 文章图片自动添加当前文章链接

[复制链接]
发表于 2016-1-18 12:44:35 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net

您需要 登录 才可以下载或查看,没有账号?立即注册

x
图片自动链接到文章,添加标题和ALT属性

直接将下面的代码添加到主题的 functions.php 文件即可:

  1. function auto_post_link($content) {
  2.         global $post;
  3.         $content = preg_replace('/<\s*img\s+[^>]*?src\s*=\s*(\'|")(.*?)\\1[^>]*?\/?\s*>/i', "<a href="".get_permalink()."" title="".$post->post_title."" ><img src="$2" alt="".$post->post_title."" /></a>", $content);
  4.         return $content;
  5. }
  6. add_filter ('the_content', 'auto_post_link',0);
复制代码

最终的输出结果如下:

  1. <a  title="wordpress 添加文章浏览历史功能" >
  2. <img src="http://pic.wpdaxue.com/2013/03/wpdaxue.com-201303521.png" alt="WordPress 添加文章浏览历史功能" />
  3. </a>
复制代码
关键词自动添加链接

还可以再添加一个功能,将文章标签作为关键词,将文章内的关键词自动加上链接,有利于html" target="_blank" class="relatedlink">seo,别人复制的时候,就会留下链接了。在上面的函数里继续添加一段代码即可。

  1. function auto_post_link($content) {
  2.                 global $post;
  3.         $content = preg_replace('/<\s*img\s+[^>]*?src\s*=\s*(\'|")(.*?)\\1[^>]*?\/?\s*>/i', "<a href="".get_permalink()."" title="".$post->post_title."" ><img src="$2" alt="".$post->post_title."" /></a>", $content);

  4.             $posttags = get_the_tags();
  5.          if ($posttags) {
  6.                  foreach($posttags as $tag) {
  7.                          $link = get_tag_link($tag->term_id);
  8.                          $keyword = $tag->name;
  9.                            $content = preg_replace('\'(?!((<.*?)|(<a.*?)))('. $keyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s','<a href="'.$link.'" title="'.$keyword.'">'.$keyword.'</a>',$content,2);//最多替换2个重复的词,避免过度SEO
  10.                  }
  11.          }
  12.            return $content;
  13. }
  14. add_filter ('the_content', 'auto_post_link',0);
复制代码
第一张图片加链接,其他图片加alt属性一样在functions.php添加:
  1. /*--------------------------------------
  2. 自动为第一张图片添加链接地址,其他图片只加alt属性,不加链接
  3. 默认链接地址为当前文章的链接,alt属性为当前文章的标题
  4. 通过修改判断语句if($count==1),可以为指定顺序图片添加链接,不局限于第一个图片
  5. --------------------------------------*/
  6. $count = 0;
  7. function auto_image_handler($matches){
  8.         global $count,$post;
  9.         $count++;
  10.         if($count==1){//第一个图片添加链接地址
  11.                 return "<a href="".get_permalink()."" title="".$post->post_title."" ><img src="$matches[2]" alt="".$post->post_title."" /></a>";
  12.         }
  13.         else{//其他图片添加alt属性
  14.                 return "<img src="$matches[2]" alt="".$post->post_title."" /></a>";
  15.         }
  16. }
  17. function auto_post_link($content){
  18.         $content = preg_replace_callback('/<\s*img\s+[^>]*?src\s*=\s*(\'|")(.*?)\\1[^>]*?\/?\s*>/i',
  19.         'auto_image_handler',$content);
  20.         return $content;
  21. }
  22. add_filter ('the_content', 'auto_post_link',0);
复制代码
实测报告

1.使用上面的代码后,由于替代了图片的多余属性,将导致图片的对齐方式失效;

2.由于使用图片灯箱效果时,需要将图片链接到原始图片的地址,如果使用该方法将图片链接到文章,那么灯箱效果就没办法使用,请自行取舍。



道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程【道勤网】 ( 皖ICP备15000319号-1 )

GMT+8, 2024-4-27 07:57

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回复 返回顶部 返回列表