我正在尝试使用add_rewrite_endpoint()
. 这是我的代码:
// Add query var.
add_filter( \'query_vars\', function( $vars ) {
$vars[] = \'my-endpoint\';
return $vars;
} );
// Add endpoint.
add_action( \'init\', function() {
add_rewrite_endpoint( \'my-endpoint\', EP_AUTHORS );
} );
我现在可以访问示例。com/author/my端点很好,但“子”端点似乎也能工作。例如:
示例。com/author/my endpoint/random示例。com/author/my endpoint/any here如何创建我的端点without 还要创建这些“子”端点吗?
最合适的回答,由SO网友:birgire 整理而成
添加的重写规则:
add_rewrite_endpoint( \'my-endpoint\', EP_AUTHORS );
是的
author/([^/]+)/my-endpoint(/(.*))?/?$
=>
index.php?author_name=$matches[1]&my-endpoint=$matches[3]
因此,它假设了之后的任何事情,例如:。
/author/henrywright/my-endpoint/...
.
您可以尝试将其替换为add_rewrite_rule()
e、 g。
add_rewrite_rule(
\'^author/([^/]+)/my-endpoint/?$\',
\'index.php?author_name=$matches[1]&my-endpoint=1\',
\'top\'
);