页面和存档链接的单一重定向规则

时间:2015-06-17 作者:Sisir

我正在尝试为URL参数找到漂亮的URL解决方案。

Consider this url set

http://example.com?token=foo
http://example.com/pagename?token=foo
http://example.com/parent/childpage?token=foo
http://example.com/category/bar?token=foo
..

My Previous Code Example

add_action(\'template_redirect\', function(){

    if(!isset($_GET[\'token])){
         return;
    }

    // run code

});
需要将整个内容移动到WordPress Pretty url中。

Example pretty Urls with parameter

http://example.com/foo
http://example.com/pagename/foo
http://example.com/parent/childpage/foo
http://example.com/category/bar/foo
..
对于页面,这是工作重写规则

add_rewrite_rule("([^/]*)/foo", \'index.php?pagename=$matches[1]&\'. foo .\'=1\', \'top\');
这似乎不适用于嵌套的子页面。所以对于最多2个嵌套页的子页。我必须补充

add_rewrite_rule("([^/]*)/foo", \'index.php?pagename=$matches[1]&foo=1\', \'top\');
add_rewrite_rule("([^/]*)/([^/]*)/foo", \'index.php?pagename=$matches[1]/$matches[2]&foo=1\', \'top\');
add_rewrite_rule("([^/]*)/([^/]*)/([^/]*)/foo", \'index.php?pagename=$matches[1]/$matches[2]/$matches[3]&foo=1\', \'top\');
是否有任何可能的方法可以在一行代码上实现这一点,以便所有页面、嵌套或父页面、帖子、存档链接都可以实现?

我的最终目标是通过加时赛foo 参数。其他WordPress查询变量保持不变。

Full Gist for you to look into more details https://gist.github.com/prionkor/ef2e6b24d8d5561b4ad7

1 个回复
最合适的回答,由SO网友:Sisir 整理而成

为了向WordPress的所有url添加参数add_rewrite_endpoint() 更合适。

我需要添加/foo 毕竟URL soadd_rewrite_endpoint("foo", EP_ALL); 成功了。

结束

相关推荐