立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 5658|回复: 0

[Wordpress 通用教程] WORDPRESS 自动为文章标签(关键词)添加该标签的链接

[复制链接]
发表于 2016-3-21 10:48:49 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

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

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

x
有一天我在给某篇文章评论的时候,偶尔看到了“一个”朋友问的:有没有自动将文章中出现的标签放上链接?然后多次探索探究找到了自动将文章中出现的标签加链接的方法。这方法很简单,将下面的代码添加到主题的 functions.php 即可:
  1. /**
  2. * wordpress 自动为文章标签添加该标签的链接
  3. * http://www.wpdaxue.com/auto-add-tag-link.html
  4. */
  5. $match_num_from = 1;  // 一个标签在文章中出现少于多少次不添加链接
  6. $match_num_to = 1; // 一篇文章中同一个标签添加几次链接
  7. add_filter('the_content','tag_link',1);
  8. //按长度排序
  9. function tag_sort($a, $b){
  10.         if ( $a->name == $b->name ) return 0;
  11.         return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;
  12. }
  13. //为符合条件的标签添加链接
  14. function tag_link($content){
  15.         global $match_num_from,$match_num_to;
  16.         $posttags = get_the_tags();
  17.         if ($posttags) {
  18.                 usort($posttags, "tag_sort");
  19.                 foreach($posttags as $tag) {
  20.                         $link = get_tag_link($tag->term_id);
  21.                         $keyword = $tag->name;
  22.                         //链接的代码
  23.                         $cleankeyword = stripslashes($keyword);
  24.                         $url = "<a href="$link" title="".str_replace('%s',addcslashes($cleankeyword, '[p=26, null, left][font=Arial,][size=16px]你可以根据自己的需要修改文章标签的链接数。[/size][/font][/p][p=26, null, left][font=Arial,][size=16px]PS:真的找不到该代码的原始出处,如果有知道的,烦请告知。[/size][/font][/p][p=26, null, left][font=Arial,][size=16px]道勤小编提醒您测试:该代码会自动为这篇文章的标签添加链接,但是 $match_num_from 和 $match_num_to 这两个参数的设置很有意思(不够准确,具体请自己测试)[/size][/font][/p]
  25. ),__('View all posts in %s')).""";
  26.                         $url .= ' target="_blank"';
  27.                         $url .= ">".addcslashes($cleankeyword, '[p=26, null, left][font=Arial,][size=16px]你可以根据自己的需要修改文章标签的链接数。[/size][/font][/p][p=26, null, left][font=Arial,][size=16px]PS:真的找不到该代码的原始出处,如果有知道的,烦请告知。[/size][/font][/p][p=26, null, left][font=Arial,][size=16px]道勤小编提醒您测试:该代码会自动为这篇文章的标签添加链接,但是 $match_num_from 和 $match_num_to 这两个参数的设置很有意思(不够准确,具体请自己测试)[/size][/font][/p]
  28. )."</a>";
  29.                         $limit = rand($match_num_from,$match_num_to);
  30.                         //不链接的代码
  31.                         $content = preg_replace( '|(<a[^>]+>)(.*)('.$ex_word.')(.*)(</a[^>]*>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
  32.                         $content = preg_replace( '|(<img)(.*?)('.$ex_word.')(.*?)(>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
  33.                         $cleankeyword = preg_quote($cleankeyword,'\'');
  34.                         $regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s' . $case;
  35.                         $content = preg_replace($regEx,$url,$content,$limit);
  36.                         $content = str_replace( '%&&&&&%', stripslashes($ex_word), $content);
  37.                 }
  38.         }
  39.         return $content;
  40. }
复制代码

你可以根据自己的需要修改文章标签的链接数。

PS:真的找不到该代码的原始出处,如果有知道的,烦请告知。

道勤小编提醒您测试:该代码会自动为这篇文章的标签添加链接,但是 $match_num_from 和 $match_num_to 这两个参数的设置很有意思(不够准确,具体请自己测试)


道勤主机提供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-12-28 01:34

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

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