这个post_type_link
过滤器负责修改输出的永久链接,但它与解析这些永久链接的传入请求无关。因此,您需要修改函数以输出正确的链接,但也需要添加重写规则,以便WordPress知道在请求这些页面时要做什么。
这都是未经测试的,但在我的脑海中,您可以修改分类slug以添加尾部斜杠:
$taxonomy_slug = $terms[0]->slug . \'/\';
然后将“无分类”案例修改为空字符串:
else $taxonomy_slug = \'\';
然后替换分类标记和尾部斜杠:
return str_replace(\'%classification%/\', $taxonomy_slug, $permalink);
然后,要处理这些没有分类的请求,请在上添加另一个重写规则
init
:
add_rewrite_rule(
\'data/([^/]+)/?$\',
\'index.php?dr12-documentation=$matches[1]\',
\'top\'
);