WordPress TAG 标签,添加中文 TAG 标签后,出现被强制 urlencode 转义成从长字符串,不如数字 ID 简单明了。可以将下面代码添加到主题的 functions.php 里面转义字符改为固定数字ID的链接形式。
// 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。