WordPress 自动为文章标签(关键词)添加该标签的链接
有一天我在给某篇文章评论的时候,偶尔看到了“斌果”朋友问的:有没有自动将文章中出现的标签放上链接?然后多次探索探究找到了自动将文章中出现的标签加链接的方法。这方法很简单,将下面的代码添加到主题的 functions.php 即可:
/**
* WordPress 自动为文章标签添加该标签的链接
* https://www.wpdaxue.com/auto-add-tag-link.html
*/
function wpkj_auto_add_tag_link($content){
$limit = 1; // 设置同一个标签添加几次链接
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$link = get_tag_link($tag->term_id);
$keyword = $tag->name;
$cleankeyword = stripslashes($keyword);
$url = '<a target="_blank" href="'.$link.'" title="'.str_replace('%s', addcslashes($cleankeyword, '$'), __('View all posts in %s')).'">'.addcslashes($cleankeyword, '$').'</a>';
$regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s';
$content = preg_replace($regEx,$url,$content,$limit);
}
}
return $content;
}
add_filter( 'the_content', 'wpkj_auto_add_tag_link', 1 );
你可以根据自己的需要修改第7行的数值。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
16 条评论
发表评论
要发表评论,您必须先登录。
学习了。
测试过了。代码可以用。辛苦了。 😀
要在这个代码底部加上
add_filter(‘the_content’, ‘tag_link’);
才能正常使用
以上代码已经有
add_filter('the_content','tag_link',1);
如果一篇文章有十几个标签,那么链接就显得太多了,一篇文章有两个内链就好了,如果要限制标签链接的数量要怎么修改这个代码
这个代码是能不能限制标签链接的数量的
这个代码有个问题就是,一个文章中出现多个tag只显示一个。
有个问题就是你没有仔细看下代码
$match_num_from = 1; // 一个标签在文章中出现少于多少次不添加链接
$match_num_to = 1; // 一篇文章中同一个标签添加几次链接
我又搜到这里了 谢谢 这个管用
先试试用不用得了。
$ex_word与$case两个参数没有看到设置,基本就是空,难道这也是全局变量么,$limit = rand($match_num_from,$match_num_to);只是随机数,$match_num_from 和 $match_num_to 设置的是范围,1到1之间当然返回1,也是说替换1次。addcslashes()这个函数,感觉用起来是多余的,调用数据库里的数据,给用户看的数据还要转义,呵呵
我已测过这个代码,我正在使用我的博客。
失效了,不能用了
刚刚测试了,有效,可以看看我的博客!
你这个代码测试过吗? 我这里怎么不起作用?
亲测有效!