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;
- }
一个自己的Test玩站网