繁体   English   中英

在WordPress中使用add_rewrite_rules创建页面的子文件夹

[英]Create a subfolder of a page with add_rewrite_rules in WordPress

我正在尝试使用add_rewrite_rule从普通WordPress页面获取子页面

该页面位于http://example.com/mypage

子文件夹类似于http://example.com/mypage/sub1但可以是sub2sub3sub4 (名称已知)

页面名称mypage (塞) 尚不清楚,但该页面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最终显示在主页上

答案很简单。 这是修改后的my_init函数:

function my_init(){
    add_rewrite_rule( '([^/]+)/(sub1|sub2|sub3|sub4)/?', 'index.php?pagename=$matches[1]&my_page=$matches[2]', 'top');
}

请注意pagename变量,其中包含当前页面的名称(子标签)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM