WordPress get_query_var()

The*_*ani 11 php wordpress

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

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

The*_*ani 13

我设法让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' );
Run Code Online (Sandbox Code Playgroud)

现在你可以使用get_query_var()add_query_arg()如下:

添加查询var和value

add_query_arg( array('query_var_name' => 'value'), old_url );
Run Code Online (Sandbox Code Playgroud)

获取查询var值

$value = get_query_var('query_var_name');
Run Code Online (Sandbox Code Playgroud)

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

  • 这个答案没有解释在哪里调用 add_filter、add_query_arg 等。它可以通过更多细节得到显着改进。 (2认同)

小智 8

要排除故障,请求中使用了哪些变量,请使用以下代码

global $wp_query;
var_dump($wp_query->query_vars);
Run Code Online (Sandbox Code Playgroud)