插件中的Query_vars是否不工作?

时间:2012-07-29 作者:clash

我在为wordpress编写插件时遇到问题。首先,我注册了一个新的query_var 并添加新的重写规则:

function nng_users_query_vars( $vars ) {
    array_push( $vars, \'nng_users\' );
    return $vars;
}
add_filter(\'query_vars\', \'nng_users_query_vars\');

function nng_users_rewrite_rules( $rules ) {
$newrules = array(
                        \'benutzer/([^/]+)/?$\' => \'index.php?pagename=nng_users&nng_users=$matches[1]\'
                      );
$finalrules = $newrules + $rules;
    return $finalrules;
}
add_filter(\'rewrite_rules_array\',\'nng_users_rewrite_rules\');
这很好用,但我拿不到query_var 从插件。键入:

print_r( $wp_query->query_var );

echo $wp_query->query_var[\'some_var\'];
没有显示任何内容。但为什么呢?如果我把完全相同的东西放进主题的功能中,它就会起作用。如果我把它放到一个函数中,并在我的主题中调用这个函数,它就会工作。。。背景如下:我想创建一个自定义用户系统,因此我需要检查我的自定义查询变量,例如注销或标题重定向。

提前感谢

1 个回复
SO网友:marion

回答晚了,但对于其他正在寻找答案的人来说,这很有效:

http://codex.wordpress.org/Function_Reference/get_query_var

结束

相关推荐

Page Name and Permalinks

我正在使用WordPress 3.2.1,刚刚在我的网站上添加了一个名为“中心管理”的页面,这反过来又创建了一个永久链接:http://localhost:8888/mysite/centre-management/对于我刚刚创建的页面。之后,我把这个页面弄得一团糟,想重新开始。因此,当我现在创建另一个与上述名称相同的新页面时,即“中心管理”,WordPress现在为我创建一个永久链接:‎http://localhost:8888/mysite/centre-管理-2/这不是我想要的。我希望它显示为:ht