我正在尝试使用add_rewrite_rule
该页面位于http://example.com/mypage
子文件夹类似于http://example.com/mypage/sub1
但可以sub2
,sub3
或sub4
(名称已知)
页面名称mypage
(slug)不已知,但页面ID
目前我坚持这样:(简化)
add_action ( 'init', 'my_init' );
add_action ( 'query_vars', 'my_query_vars' );
function my_init(){
add_rewrite_rule( '([^/]+)/(sub1|sub2|sub3|sub4)/?', 'index.php?my_page=$matches[2]', 'top');
}
function my_query_vars($vars) {
$vars[] = "my_page";
return $vars;
}
如果我转到http://example.com/mypage
我就在那个页面上(显然),但是mypage/sub1
最终会出现在主页上
答案 0 :(得分:0)
答案很简单。这是修改后的my_init
函数:
function my_init(){
add_rewrite_rule( '([^/]+)/(sub1|sub2|sub3|sub4)/?', 'index.php?pagename=$matches[1]&my_page=$matches[2]', 'top');
}
请注意pagename
变量,其中包含当前页面的名称(slug)