动态添加页面子目录,就像BuddyPress一样

时间:2013-12-30 作者:Shazzad

我有一页写着slug/namecharts. 所以url看起来像http://domain.tld/charts/ 用于图表页面。当我键入url时http://domain.tld/charts/(something)http://domain.tld/charts/(something)/(something), 我得到的错误并没有找到,逻辑上应该是这样的,因为并没有具有给定名称的子页。

现在想要的是,什么时候去http://domain.tld/charts/(something)http://domain.tld/charts/(something)/(something), 它仍应查询图表页面,并添加发生的单个或多个(something) 输入wp query var,以便我可以使用get\\u query\\u var函数访问它。(something)将作为当然数组返回。

这个(something) 可以是任何字母数字字符,不需要是有效字符。只需要它,WordPress仍然可以查询图表页面,所有额外的url路径都会添加到wp\\U查询对象中。

非常需要你的帮助。

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

这应该满足您的需要:

add_action(\'generate_rewrite_rules\', \'wpse128082_add_rewrite_rule\');
function wpse128082_add_rewrite_rule($wp_rewrite) {
    $new_rules = array(
        \'^charts/(.*)\' => \'index.php?pagename=charts&something=\'.$wp_rewrite->preg_index(1),
    );
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

add_filter(\'query_vars\', \'wpse128082_add_query_var\');
function wpse128082_add_query_var($query_vars) {
    $query_vars[] = \'something\';
    return $query_vars;
}
在图表页面上,您可以使用get_query_var(\'something\').

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post