欢迎光临散文网 会员登陆 & 注册

WordPress标签tag内链无插件实现

2023-01-29 21:20 作者:bili_26022313984  | 我要投稿

WordPress标签页面怎么实现自动内链呢?研究了几天,最终才实现了这个tag页面自动内链的效果,之前尝试了插件,但是插件并不好用,而且效果不好。

不需要插件,只需要代码就可以实现这个功能了,本人亲测有效,效果非常好。

WordPress标签tag内链无插件实现

只需要在当前主题Functions.php文件中,也可通过后台-外观-主题编辑器,进入编辑。

将代码放在结尾 ?> 的前面,代码如下:

//自动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 = "<a href=\"$link\" title=\"".str_replace('%s',addcslashes($cleankeyword, '$'),__('View all posts in %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', $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; }

通过一步操作,就可以实现tag内链了。

内链在seo优化过程中,非常重要,做足够多的内链才能提升网站整体权重,让网站对搜索引擎更友好。


WordPress标签tag内链无插件实现的评论 (共 条)

分享到微博请遵守国家法律