繁体   English   中英

WordPress get_query_var()

[英]WordPress get_query_var()

我正忙着开发一个WordPress应用程序,我需要能够使用WordPress函数传递url参数。 我使用add_query_arg()函数添加url参数。 但是,当我尝试使用get_query_var()获取其他页面中的传递值时,不会返回任何内容。 当我使用$_GET['var_name'] ,返回值。

这种情况可能的原因是什么? 我可以成功地向url添加参数但我无法访问它们。

我设法让get_query_var()函数工作。 要成功使用这两个函数,需要将查询变量添加到wordpress的查询变量数组中。 这是一个代码示例。

function add_query_vars_filter( $vars ){
  $vars[] = "query_var_name";
 return $vars;
}

//Add custom query vars
add_filter( 'query_vars', 'add_query_vars_filter' );

现在您可以使用get_query_var()add_query_arg() ,如下所示:

添加查询var和value

add_query_arg( array('query_var_name' => 'value'), old_url );

获取查询var值

$value = get_query_var('query_var_name');

可以在Codex中找到更多信息和代码示例: get_query_varadd_query_arg

如果你看看Codex,你会发现你实际上需要做一些小工作才能让WP开始阅读你的查询字符串。

Codex (在自定义查询变量下)

摘抄:

为了能够添加和使用您附加到URL的自定义查询变量(例如:“mysite com / some_page /?my_var = foo” - 例如使用add_query_arg()),您需要将它们添加到公共查询变量可用于WP_Query。 这些是在WP_Query实例化时构建的,但幸运的是,它们在实际用于填充WP_Query的$ query_vars属性之前通过过滤器“query_vars”传递。

要进行故障排除,请求中使用的变量使用以下代码

global $wp_query;
var_dump($wp_query->query_vars);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM