wordpress添加文章自动添加关键词内链代码

2024年10月19日 建站教程

功能介绍:做了一个wordpress的网站,如何实现添加文章后自动添加关键词内链,下面直接上代码:

//连接数量
$match_num_from = 1; //一个关键字少于多少不替换
$match_num_to = 1; //一个关键字最多替换次数
//连接到WordPress的模块
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 = "".addcslashes($cleankeyword, '$')."";
      $limit = rand($match_num_from,$match_num_to);
      //不连接的代码
      $content = preg_replace( '|(<a[^>]+>)(.*)('.$ex_word.')(.*)(</a[^>]*>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
      $content = preg_replace( '|(<img)(.*?)('.$ex_word.')(.*?)(>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
      $cleankeyword = preg_quote($cleankeyword,'\'');
      $regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?))\'s' . $case;
      $content = preg_replace($regEx,$url,$content,$limit);
      $content = str_replace( '%&&&&&%', stripslashes($ex_word), $content);
    }
  }
  return $content; 
}

本文链接:http://so.lmcjl.com/news/15734/

展开阅读全文
相关内容