自定义变量的WP重写

时间:2013-07-15 作者:Eric Holmes

我知道这上面有几十篇帖子,但(我很难为情地说)我很难跟踪它们。

我的目标是/resources?audience=teachers 成为/resources/audience/teachers 或事件/resources/teachers.

我有两个关于附件的自定义分类法-类型和访问群体。然后我有一个标题为Resources的页面,它将容纳这些类别中的所有附件。如果指定了类型的访问者,我将只显示该术语的附件。

我尝试在init 钩子:

add_rewrite_rule(
    \'resources/([^/]+)/?$\',
    \'index.php?pagename=resources&audience=$matches[1]\',
    \'top\' );
没有成功。我相信这是不需要动脑筋的。

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

您必须使用此选项:

add_rewrite_rule(
    \'resources/audience/([^/]+)/?$\',
    \'index.php?pagename=resources&audience=$matches[1]\',
    \'top\' );
在您的init

然后,您应该添加自己的查询变量:

function add_my_var($public_query_vars) {
    $public_query_vars[] = \'audience\';
    return $public_query_vars;
}
add_filter(\'query_vars\', \'add_my_var\');
然后刷新重写规则(转到永久链接设置并按下“保存”按钮)。

访问url后:site.com/resources/audience/teachers/ 应显示您的资源页面。您可以获得audience 变量为get_query_var() 作用

结束

相关推荐