WordPress get_query_var()

Viewed 41930

I am busy developing a WordPress application and I need to be able to pass url parameters using WordPress functions. I use add_query_arg() function to add a url parameter. However, when I try to get the passed value in the other page using get_query_var() nothing gets returned. When I used $_GET['var_name'] the values gets returned.

What is the possible cause of this situation? I can successfully add arguments to the url but I am not able to access them.

3 Answers

To troubleshoot, what variables are being used in the request use following code

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

If you check out the Codex, you'll see you actually need to do some fiddling to get WP to start reading your query string.

Codex (under Custom Query Vars)

Excerpt:

In order to be able to add and work with your own custom query vars that you append to URLs (eg: "mysite com/some_page/?my_var=foo" - for example using add_query_arg()) you need to add them to the public query variables available to WP_Query. These are built up when WP_Query instantiates, but fortunately are passed through a filter 'query_vars' before they are actually used to populate the $query_vars property of WP_Query.

Related