### [wordpress如何自动为关键词添加内链](https://www.prosaas.cn/article/4822)
**Published:** 2019-07-13T06:56:04
**Author:** 5201314
**Excerpt:** 我们在编写文章时,经常需要添加一些标签关键词的链接,这样不仅可以优化我们的内链,对用户来说也可以参照相关的文章…

我们在编写文章时,经常需要添加一些标签关键词的链接,这样不仅可以优化我们的内链,对用户来说也可以参照相关的文章,如果对文章的关键字进行手动添加链接,那样对我们来说太麻烦了,而且在标签关键词很多的情况下我们是记不住的,那怎么如何让WordPress站点的文章自动添加标签链接变为内链呢?其实我们只需要在主题目录下的functions.php文件中添加一段代码就可以实现了。
只需要在模板函数文件【functions.php】添加下面代码:
//自动关键词内链
$match\_num\_from = 1; //一个关键字少于多少不替换
$match\_num\_to = 5; //一个关键字最多替换
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( ‘|(\]+>)(.\*)(‘.$ex\_word.’)(.\*)(\]\*>)|U’.$case, ‘$1$2%&&&&&%$4$5′, $content);
$content = preg\_replace( ‘|(
)|U’.$case, ‘$1$2%&&&&&%$4$5′, $content);
$cleankeyword = preg\_quote($cleankeyword,’\\”);
$regEx = ‘\\’(?!((<.\*?)|(\]\*?)>)|(\[^>\]\*?))\\’s’ . $case;
$content = preg\_replace($regEx,$url,$content,$limit);
$content = str\_replace( ‘%&&&&&%’, stripslashes($ex\_word), $content);
}
}
return $content;
}
上面代码添加到模板函数最后面 ” ?>” 前方,一定要保持格式和符号不要更改,然后更新模板函数,清除浏览器缓存后重新打开一个文章页面就会看的到效果了。
更多wordpress相关技术文章,请访问wordpress教程栏目进行学习!
以上就是wordpress如何自动为关键词添加内链的详细内容,更多请关注知企PROSAAS其它相关文章!
**Tags:** php, WordPress
**Categories:** WordPress
---