(修改后的答案)
让我们看看重写规则的问题传递给的第一个参数add_rewrite_rule() (这是正则表达式模式)不应以home_url() 或任何输出网站URL的功能。所以这是错误的:
home_url() . \'/car/([^/]*)/([^/]*)/?\'
因为生成的正则表达式(RegEx)模式将是:
http://example.com/car/([^/]*)/([^/]*)/?
这将
never be matched, 因为请求(请参阅
WP::$request) 从不以网站URL开头。甚至都不是从
/.
是&model=$matches[1] a部分输入错误?
index.php?taxonomy=car&term=$matches[1]&model=$matches[1]&trim=$matches[2]
现在修复
home_url() . \'/car/([^/]*)/([^/]*)/?\' 应为(无尾随
/ 开始时):
\'^car/([^/]*)/([^/]*)/?\'
在
index.php?taxonomy=car&term=$matches[1]&model=$matches[1]&trim=$matches[2] 应该没有
&model=$matches[1]:
index.php?taxonomy=car&term=$matches[1]&trim=$matches[2]
然而,即使
&model=$matches[1], 在我的情况下,这条规则实际上起了作用。
我不确定您是否已经在代码中的某个地方添加了此参数,但我会添加它,以便在URL中获取“trim”参数的值:
add_rewrite_tag( \'%trim%\', \'([^/]+)\' );
你应该在
add_rewrite_rule() 线条,要获取“trim”值,可以使用
get_query_var( \'trim\' ).