我们在编写文章时,经常需要添加一些标签关键词的链接,这样不仅可以优化我们的内链,对用户来说也可以参照相关的文章,如果对文章的关键字进行手动添加链接,那样对我们来说太麻烦了,而且在标签关键词很多的情况下我们是记不住的,那怎么如何让wordpress站点的文章自动添加标签链接变为内链呢?其实我们只需要在主题目录下的functions.php文件中添加一段代码就可以实现了。
只需要在模板函数文件「functions.php」添加下面代码:
//自动关键词内链$match_num_from=1;//一个关键字少于多少不替换$match_num_to=5;//一个关键字最多替换add_filter(‘the_content’,'tag_link’,1);functiontag_sort($a,$b){if($a->name==$b->name)return0;return(strlen($a->name)>strlen($b->name))?-1:1;}functiontag_link($content){global$match_num_from,$match_num_to;$posttags=get_the_tags();if($posttags){usort($posttags,“tag_sort”);foreach($posttagsas$tag){$link=get_tag_link($tag->term_id);$keyword=$tag->name;$cleankeyword=stripslashes($keyword);$url=“<ahref=\”$link\”title=\”".str_replace(‘%s’,addcslashes($cleankeyword,‘$’),__(‘Viewallpostsin%s’)).”\”";$url.=‘target=”_blank”class=”tag_link”‘;$url.=“>”.addcslashes($cleankeyword,‘$’).”</a>”;$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(‘|(@@##@@)|U’.$case,‘$1$2%&&&&&%$4$5′,$content);$cleankeyword=preg_quote($cleankeyword,’\”);$regEx=‘\’(?!((<.*?)|(<a.*?)))(‘.$cleankeyword.‘)(?!(([^<>]*?)>)|([^>]*?</a>))\’s’.$case;$content=preg_replace($regEx,$url,$content,$limit);$content=str_replace(‘%&&&&&%’,stripslashes($ex_word),$content);}}return$content;}