重写页面,并在页面名称前添加一个插件

时间:2014-04-05 作者:Alex Pena

我正在使用$wp\\u rewrite->non\\u wp\\u规则

我的代码如下:

\'name/(.*)\' => \'index.php?post_type=post\';
我可以使用如下urlhttp://mysite.com/custom_name/post_name

使用$wp\\u rewrite->非wp\\u规则,如何使页面以相同的方式工作。

这只是一个例子:

\'anothername/(.*)\' => \'index.php?post_type=page\'; //for all pages

\'anothername/(.*)\' => \'page/pagename\' //for one specific page
有没有办法让页面看起来像这样:

 http://mysite/custom_name/page_name.
以上两个示例将我引向:

http://mysite/page_name  //without the slug

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

我没有尝试过外部规则,但您可以通过内部重写和pagename:

function wpd_page_rewrite(){
    add_rewrite_rule(
        \'^anothername/([^/]*)/?\',
        \'index.php?pagename=$matches[1]\',
        \'top\'
    );
}
add_action( \'init\', \'wpd_page_rewrite\' );
对于父/子页面,必须设置pagename 到父/子路径,page/pagename, 或者您也可以使用page_id 并使用页面的ID。

编辑-请注意,您必须flush rewrite rules 添加新的后。在测试期间执行此操作的快速方法是访问permalinks设置页面。

结束

相关推荐

Advanced permalinks structure

我想得到这个:mysite.com/category/tag/ 示例:mysite.com/news/sports/ 新闻是一个类别,体育是一个标签我该怎么做?谢谢