目前有很多站长不为wordpress文章添加标签标签,可能原因就是每次发布文章都要手动去找为文章添加一堆标签标签,有时还不知道文章是否出现以前用过的标签,总之有点太麻烦了。那就更不会给wordpress文章内容中标签文本自动添加链接做内联了还是嫌麻烦。
那之前的为wordpress文章自动添加现有标签标签的纯代码方法之后,此处就是让WordPress文章自动添加的标签标签在内容正文本中出现直接变成内链的方法,以达到你的WordPress网站实现自动为文章添加标签标签,并自动为这些标签添加链接变成内连接的WordPress标签链接自动添加方案。

方法很简单,将下面的代码添加到当前主题的functions.php文件中即可:
- / **
- * WordPress自动为文章标签添加该标签的链接
- * /
- 函数wpkj_auto_add_tag_link($ content){
- $ limit = 1; //设置同一个标签添加几次链接
- $ posttags = get_the_tags();
- 如果($ posttags){
- foreach($ posttags as $ tag){
- $ link = get_tag_link($ tag- > term_id);
- $ keyword = $ tag- > name;
- $ cleankeyword =的stripslashes($关键字);
- $ url ='<a target = “” _blank“ href = ”“。$ link。’” title = “” .str_replace(’%s’,addcslashes($ cleankeyword,’$’),__(’查看所有帖子%s’))。’“ >’。addcslashes($ cleankeyword,’$’)。'</a>’;
- $ regEx =’\’(?!((<。*?)|(<a。*?)))(’。$ cleankeyword。’)(?!(([[^ <>] *?)>)|| ([^>] *?</a>))’s’;
- $ content = preg_replace($ regEx,$ url,$ content,$ limit);
- }
- }
- 返回 $ content ;
- }
- add_filter(’the_content’,’wpkj_auto_add_tag_link’,1);
其中,第6行参数和第16行“查看所有帖子”可以自行调整;还有另一种同样功能的代码:
- / *自动为文章内的标签添加内链* /
- $ match_num_from = 1; ///>文章中同一个标签有时会不自动链接
- $ match_num_to = 1; ///>文章中同一个标签最多自动链接两次
- 函数tag_sort($ a,$ b){
- if($ a-> name == $ b- > name)返回0;
- return(strlen($ a- > name)> strlen($ b- > name))?-1:1;
- }
- 函数tag_link($ content){
- 全局 $ match_num_from,$ match_num_to ;
- $ posttags = get_the_tags();
- 如果($ posttags){
- usort($ posttags,“ tag_sort”);
- foreach($ posttags as $ tag){
- $ link = get_tag_link($ tag- > term_id);
- $ keyword = $ tag- > name;
- $ cleankeyword =的stripslashes($关键字);
- $ url = “ <a href = \” $ link \“ title =”“。str_replace(’%s’,addcslashes($ cleankeyword,’$’),__(’【查看包含[%s]标签的文章】’))。“ \”“ ;
- $ url。=’target = “ _blank” ‘;
- $ 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(’|(<img)(。*?)(’。$ ex_word。’)(。*?)(>)| U’。$ case,’ $ 1 $ 2%&&&&&& $ 4 $ 5 ‘,$内容);
- $ cleankeyword = preg_quote($ cleankeyword,’\”);
- $ regEx =’\’(?!((<。*?)|(<a。*?)))(’。$ cleankeyword。’)(?!(([[^ <>] *?)>)|| ([^>] *?</a>))’s’。$ case ;
- $ content = preg_replace($ regEx,$ url,$ content,$ limit);
- $含量= str_replace函数( ‘%&&&&&%’,的stripslashes($ ex_word),$内容);
- }
- }
- 返回 $ content ;
- }
- add_filter(’the_content’,’tag_link’,1);
以上代码的功能就是在我们发布/保存/更新文章时,自动检测文章中的内容,是否出现标签内容。如果出现过就会自动为文章内的标签添加内链。如本文有标签:荐爱小站那么只要我们的文章内容中出现有荐爱小站的,那么就会自动为“荐爱小站”添加标签链接变成内链。(实测第一种代码在WordPress 5.4.4版本中有效)
当我们wordpress网站的标签标签已经非常多的情况下,使用这两篇文章的代码就能实现WordPress站点自动为文章添加标签和标签内链的效果,那么将会大大减少我们的编辑工作量。大家平时不喜欢人工添加标签的,不妨试试这两个代码。