add_rewrite_rule用于自定义子页面

时间:2014-09-27 08:44:25

标签: wordpress

对于插件,我需要subpage常规WordPress page。正常page位于

http://example.com/page

获得subpage

http://example.com/page/subpage

我正在使用rewrite_rule:

add_rewrite_rule( '([^/]+)/(subpage|subpage2|subpage3|subpage4)', 'index.php?pagename=$matches[1]&_mysubpage=$matches[2]', 'top');

正常,直到我将page移至parent页:

http://example.com/parentpage/page/subpage

或者如果我将page设置为主页

http://example.com/subpage

我还需要哪些add_rewrite_rule

1 个答案:

答案 0 :(得分:0)

我找到了一个有效的解决方案,但是如果有人有更好的感觉,可以自由分享。

1)子页面

子网页上的pagenamepage/subpage,因此初始add_rewrite_rule成为

add_rewrite_rule( '(.+)/(subpage|subpage2|subpage3|subpage4)', 'index.php?pagename=$matches[1]&_mysubpage=$matches[2]', 'top');

2)主页

对于首页,您需要page的ID以及其他add_rewrite_rule

add_rewrite_rule( '^(subpage|subpage2|subpage3|subpage4)', 'index.php?page_id={YOUR_PAGE_ID}&_mysubpage=$matches[1]', 'top');

请注意,pagename被替换为page_id