我想在WordPress的作者页面中添加附加子页面。我有以下URL:
http://mylocalsite.site/author/USER_NAME/
但我还想添加如下URL:http://mylocalsite.site/author/USER_NAME/pinboard
http://mylocalsite.site/author/USER_NAME/teams
我已经添加了一个名为author\\u view的标记:add_action(\'init\', function( $vars ) {
add_rewrite_tag( \'%author_view%\', \'([^&]+)\');
}, 10, 1);
访问此URL时,该选项非常有效:http://mylocalsite.site/?author=1&author_view=pinboard
然后,我可以使用get\\u query\\u var()检索author\\u视图,并对其执行任何操作。然而,我有点纠结于如何使用永久链接和重写规则获得相同的页面。这是我的重写规则和template\\u重定向:
add_action(\'init\', function( $vars ) {
add_rewrite_tag( \'%author_view%\', \'([^&]+)\');
global $wp_rewrite;
$author_base = $wp_rewrite->author_base;
add_rewrite_rule(
$author_base . \'/([^/]*)/([^/]*)\',
\'index.php?author=$matches[1]&author_view=$matches[2]\',
\'top\'
);
}, 10, 1);
add_action( \'template_redirect\', function() {
$author_view = get_query_var( \'author_view\', false );
if($author_view) :
include( get_template_directory() . "/author.php" );
exit();
endif;
} );
但是,由于查询的对象不是author对象,因此我得到了一系列错误。也许我走错了方向?