WordPress自动设置标签Tag自动内链无插件实现方法

 

之前一直有使用WP keyword Link Plugin插件,但是发现这个插件已经好久没有更新,好像目前在平台中已经找不到。所以准备替换掉这个插件。类似的WordPress插件还是有很多的,比如Keywords to Links Converter、Auto Tag Links等都可以实现。

本着少用插件,能不用插件就不用的策略,所以准备还是无插件实现。

//自动TAG转内链
$match_num_from = 2; // 一个TAG标签出现几次才加链接
$match_num_to = 1; // 同一个标签加几次链接
add_filter('the_content','tag_link',1);
function tag_sort($a, $b){
 if ( $a->name == $b->name ) return 0;
  return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;
}
function tag_link($content){
  global $match_num_from,$match_num_to;
  $posttags = get_the_tags();
  if ($posttags) {
      usort($posttags, "tag_sort");
      foreach($posttags as $tag) {
            $link = get_tag_link($tag->term_id);
            $keyword = $tag->name;
            $cleankeyword = stripslashes($keyword);
          $url = ".str_replace('%s',addcslashes($cleankeyword, '$'),__('View all posts in %s'))."\"";
        $url .= ' target="_blank"';
        $url .= ">".addcslashes($cleankeyword, '$')."";
        $limit = rand($match_num_from,$match_num_to);
        $content = preg_replace( '|(]+>)(.*)('.$ex_word.')(.*)(]*>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
        $content = preg_replace( '|(.$ex_word.')(.*?)(>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
        $cleankeyword = preg_quote($cleankeyword,'\'');
        $regEx = '\'(?!((<.*?)|(. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?))\'s' . $case;
        $content = preg_replace($regEx,$url,$content,$limit);
        $content = str_replace( '%&&&&&%', stripslashes($ex_word), $content);
      }
   }
   return $content;
}

将代码添加到当前主题Functions.php文件中。如果有冲突出现问题,我们需要检查是不是不兼容。检查不出来的话,我们只能使用插件实现。

原文地址:www.dungei.net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
是否想过在你的博客中为关键字添加链接,添加关键词链接,可以有效的增加页面的阅读量,提高文章的曝光度,那么,就看看这款关键词插件吧!Blog Mechanics Keyword Link plugin关键词插件,使用这款插件可以添加更多的内链,有利于增加搜索引擎的收录。 Blog Mechanics Keyword Link插件安装: 1.下载Blog Mechanics Keyword Link插件,然后上传插件到/wp-content/plugins/下的文件夹。 2.到wp管理后台插件页面,激活插件,激活插件后,在"Settings"--->"BM Keywordlink",进入页面设置相关内容,具体见下图: 页面中的复选框的意思是: •No Follow -> 当搜索引擎看到标签’no-follow’的时候,它将不再搜索它,也不会对链接流行度进行评价.搜索引擎鼓励某些网站使用标签’no-follow’,防止Spammers垃圾 •First Match Only -> 仅替换第一个匹配 •New Window -> 在新窗口打开 •Ignore case -> 英文字符有用,不区分大小写 •Is Affiliate -> 区分内链还是外链,详见下面的说明 •Filter in comments -> 过滤留言 Blog Mechanics Keyword Link默认是对中文的支持不够,这个插件判断英文关键字的标准是:左右都会有空格,只匹配全单词,不会部分匹配,但这对中文是很不方便的,国内有朋友对其进行了修正,把它改成了支持中文,修正后的插件具有以下特点: 1.完美支持中文关键词链接,增加选项(For zh_CN)分别区分英文与中文关键词。勾选后也可部分匹配英文单词 2.编辑中文关键词时乱码问题 //注意,这里去掉了原作者对关键词的加密与解密,因为此功能只对英文有效,中文导致乱码。 3.修正导出文件时中文字符乱码问题。 修正后的中文版会多出For zh_CN? 选项,它支持中文字符,同时也对英文字符有效。注:你可以在你主题的style.css加入,勾选上“Is Affiliate”后,表示内链,字体将会加粗(如内链和外链,注意上文已经出现了,只匹配一次): .bm_keywordlink { text-decoration: underline; } .bm_keywordlink_affiliate { font-weight: bold; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值