关注VPS主机与
服务器促销分享

WordPress的tag标签链接改成使用“数字ID”的固定链接形式的方法

WordPress文章标签默认是中文,比如标签少的时候可以自己修改别名,比如拼音或者英文,但是有一个缺点就是同音词的时候不好区分,只能在别名后面加-1,-2 这样的区分,比如手机,收集,首级,遇到同音词的时候就很不好,展示方式看个人喜欢,除了中文展示会转码外,并没什么卵用,个人觉得用 ID 方式最好,比如 Discuz 的标签展示方式就最好。

其实最重要的是中文TAG标签会在某些浏览器被转义成乱码,个人觉得不好看!

将以下代码加在主题目录的 functions.php 中即可实现,添加代码后需要进入后台重新保存一下固定链接。

// WordPress 文章标签以id方式展示
add_action('generate_rewrite_rules','tag_rewrite_rules');
add_filter('term_link','tag_term_link',10,3);
add_action('query_vars', 'tag_query_vars');
function tag_rewrite_rules($wp_rewrite){
$new_rules = array(
'tag/(\d+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?tag_id=$matches[1]&feed=$matches[2]',
'tag/(\d+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?tag_id=$matches[1]&feed=$matches[2]',
'tag/(\d+)/embed/?$' => 'index.php?tag_id=$matches[1]&embed=true',
'tag/(\d+)/page/(\d+)/?$' => 'index.php?tag_id=$matches[1]&paged=$matches[2]',
'tag/(\d+)/?$' => 'index.php?tag_id=$matches[1]',
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

function tag_term_link($link,$term,$taxonomy){
if($taxonomy=='post_tag'){
return home_url('/tag/'.$term->term_id);
}
return $link;
}

function tag_query_vars($public_query_vars){
$public_query_vars[] = 'tag_id';
return $public_query_vars;
}

代码改好后,需要进入后台,设置-固定链接-保存一下或者修改一下重新改回来保存然固定链接生效,否则新标签链接全部 404。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《WordPress的tag标签链接改成使用“数字ID”的固定链接形式的方法》
文章链接:https://www.zyhot.com/article/13528.html
关于安全:任何IDC都有倒闭和跑路的可能,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯。
本站声明:本站仅做信息分享,不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本站请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本站,即表示您已经知晓并接受了此声明通告。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册