如果是中文网站,标签大部分都是中文,这个时候我们的标签URL就会包含这个中文。简单来说,中文URL具有更好的描述性,但是搜索引擎会将中文转码,不利于管理,也看起来不美观。那么,如果我们放弃描述性,选择ID形式的标签URL,要如何实现呢
实现代码如下:
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;
}
添加上面的函数代码后要去设置固定链接页面保存更改才会生效
请登录后发表评论
注册
停留在世界边缘,与之惜别