我想向作者页面添加一个新端点,以便URL如下所示:
http://example.com/writer/username/articles
到目前为止,我已经:更改了作者库添加了重写规则设置查询变量添加了端点使用模板重定向到使用我的模板结果:未找到404页(即使在刷新重写规则之后)。我想不出问题出在哪里。此外,我还想向端点添加分页。下面是我的代码:
更改了作者库:
function foo_change_author_base() {
global $wp_rewrite;
$wp_rewrite->author_base = \'writer\';
}
add_filter( \'init\', \'foo_change_author_base\', 0 );
添加了重写规则:function foo_rewrite_rule()
{
add_rewrite_rule( \'writer/([^/]+)/articles(/(.*))?/?$\', \'index.php?author_name=$matches[1]&articles=$matches[3]\', \'top\' );
}
add_action( \'init\', \'foo_rewrite_rule\' );
设置查询变量:function foo_add_vars($vars) {
$vars[] = \'articles\';
return $vars;
}
add_filter(\'query_vars\', \'foo_add_vars\');
添加了端点:function foo_add_endpoint() {
global $wp_rewrite;
add_rewrite_endpoint( \'articles\', EP_AUTHORS | EP_PAGES );
}
add_action( \'init\', \'foo_add_endpoint\');
并添加了我的模板:function foo_rewrite_template()
{
global $wp_query;
if ( array_key_exists( \'articles\', $wp_query->query_vars ) ) {
include (get_template_directory_uri() . \'/articles.php\');
exit;
}
}
add_action( \'template_redirect\', \'foo_rewrite_template\' );