我们都知道 WordPress 的文章标签默认是中文的。例如,当标签很少时,您可以修改别名,如拼音或英语。但是有一个缺点,就是不容易区分同音词。只能在别名后加-1 和-2,比如手机、收藏、一等词。当你遇到同音异义词的时候,是很不好的。展示方式是个人的最爱。除了中国展览中的转码,没什么用。个人认为我用的是 ID。
其实最重要的是中文 TAG 标签在某些浏览器中会被转义成乱码,我个人觉得不好看!
以下代码可以添加到functions.php的主题目录中。添加代码后,需要进入后台再次保存固定链接。
/*标签按 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了。
转载请注明:汇站网 » 修改 WordPress 的文章 TAG 标签用 ID 显示