我正忙于开发一个WordPress应用程序,我需要能够使用WordPress函数传递url参数。我使用add_query_arg()函数来添加一个url参数。但是,当我尝试使用get_query_var()在另一个页面中获取传递的值时,什么也没有返回。当我使用$_GET['var_name']时,返回值。
造成这种情况的可能原因是什么?我可以成功地将参数添加到url,但我无法访问它们。
发布于 2014-01-16 18:35:11
我设法让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(),如下所示:
添加查询变量和值
add_query_arg( array('query_var_name' => 'value'), old_url );获取查询变量的值
$value = get_query_var('query_var_name');欲了解更多信息和代码样本,请访问Codex:get_query_var和add_query_arg
发布于 2019-03-06 02:57:14
要进行故障排除,请使用以下代码在请求中使用哪些变量
global $wp_query;
var_dump($wp_query->query_vars);发布于 2013-12-04 23:41:14
如果你查看了Codex,你会发现你实际上需要做一些小菜一碟来让WP开始读取你的查询字符串。
Codex (在自定义查询变量下)
摘录:
为了能够添加和使用您添加到URL的自定义查询变量(例如:"mysite com/some_page/?my_var=foo“-例如使用add_query_arg()),您需要将它们添加到WP_Query可用的公共查询变量中。它们是在WP_Query实例化时构建的,但幸运的是,它们在实际用于填充WP_Query.
的$query_vars属性之前通过了一个过滤器'query_vars‘。
https://stackoverflow.com/questions/20379543
复制相似问题