添加重写规则不适用于我

时间:2014-03-04 作者:Austin Biggs

我定义了以下重写标记:

// ADD REWRITE TAG FOR \'VEHICLE MAKES\'
add_rewrite_tag(\'%make%\',\'([^&]+)\');

// ADD REWRITE TAG FOR \'BODY STYLES\'
add_rewrite_tag(\'%body-style%\',\'([^&]+)\');

// ADD REWRITE TAG FOR \'OTHER TOPICS\'
add_rewrite_tag(\'%topic%\',\'([^&]+)\');
我正在尝试为其中的每一个创建一个自定义重写,它可以应用于变量存在的任何页面。

我一直在修改文档中的WP示例,但运气不好。。此重写针对“车辆制造”。

我希望WP能够解释以下内容:

http://example.com/make/abc
作为

http://example.com?make=abc
同样的模式

http://example.com?body-style=abc &;http://example.com?topic=abc

无论我怎么努力,我似乎都无法使以下各项发挥作用

add_rewrite_rule(\'^nutrition/([^/]*)/([^/]*)/?\',\'index.php?page_id=12&food=$matches[1]&variety=$matches[2]\',\'top\');
感谢您的任何帮助!

3 个回复
SO网友:Otto

您是否尝试将第三个参数添加到该调用中?

add_rewrite_tag( \'%make%\', \'([^/]+)\', \'make=\' );

SO网友:Saikat

使用方式add_rewrite_rule 功能如下:

将此函数挂接到init 挂钩使用query_vars 筛选以使新重写在中可用query_vars

Here is the code snippet

add_action(\'init\', \'my_custom_rewrite_rule\');
function my_custom_rewrite_rule() {
    add_rewrite_rule( \'make/([^/]+)/?$\', \'index.php?make=$matches[1]\', \'top\' );
}

add_filter(\'query_vars\', \'my_rewrite_query_var\');
function my_rewrite_query_var( $vars ) {
    $vars[] = \'make\';
    return $vars;
}
现在,转到永久链接设置页面,并单击Save Changes 刷新重写规则。

SO网友:Nishant Kumar

在这里提出任何问题之前,请先自己找出答案。如果是wordpress,您应该查看http://codex.wordpress.org/ 第一

大多数答案已经有了。

您要查找的代码片段是一个函数flush_rewrite_rules().

参考号:Rewrite Rules

结束

相关推荐

Advanced permalinks structure

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