【技术教程】WordPress文章标签以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;
}
© 版权声明
THE END
文章不错?点个赞呗
点赞0 分享