默认的情况下,wordpress的分类链接中会存在 category 。看着有点长,移除的方法也很简单。需要两个步骤,一: 过滤分类url的链接 ,二添加一个重写规则。
过滤分类中的url的链接
add_filter('category_link', function ($termlink, $id) {
return home_url() .'/' . get_term($id)->slug . '/';
}
新增一个重写规则
add_action('init', function() {
add_rewrite_rule("^([a-z]+)$",'index.php?category_name=$matches[1]','bottom');
}
把以上代码写入文件 functions.php
就可以了。 add_rewrite_rule
后一个参数是 bottom
应该是放到后面,防止破坏其他的路由。这里假设分类的名字是[a-z]组成的。
需要注意的地方,分类的url末尾自动加上/
add_filter('user_trailingslashit', function ($string, $type_of_url) {
if ($type_of_url == 'category')
$string = trailingslashit($string);
return $string;
}, 10, 2);