我会使用add_rewrite_endpoint()
作用
它负责添加查询变量,而且设置起来更加简单,而且您不需要担心页面段塞的变化等等。。。
代码是:
// in functions.php
add_action( \'init\', \'wpse42604_add_endpoints\' );
function wpse42604_add_endpoints() {
add_rewrite_endpoint( \'state\', EP_PAGES );
}
// in template file eg. page.php
if ( \'\' != get_query_var( \'state\' ) ) {
// ... do stuff with the state query var
}
一个缺点(取决于您的看法)是您无法获得上面指定的确切URL,它们如下所示:
insurance-leads-types/auto-insurance-leads/state/tx/
但它是一个更加健壮和灵活的解决方案,而且URL仍然很好看,可读性也很好。
您看到的问题是,我以前遇到过一个WordPress处理重写规则的问题,在查看重写之前执行规范重定向。不幸的是,我已经有一段时间没有查过了,所以记不清具体细节,但redirect_canonical()
wp中的函数包括/规范。php,这给我带来了类似的问题。