get_query_var() WordPress Function

The get_query_var() function is used to retrieve the value of a query string variable.

get_query_var( string $var, mixed $default = '' ) #

Retrieves the value of a query variable in the WP_Query class.


Parameters

$var

(string)(Required)The variable key to retrieve.

$default

(mixed)(Optional) Value to return if the query variable is not set.

Default value: ''


Top ↑

Return

(mixed) Contents of the query variable.


Top ↑

More Information

get_query_var() only retrieves public query variables that are recognized by WP_Query. This means that if you create your own custom URLs with their own query variables, get_query_var() will not retrieve them without some further work (see below).

Top ↑

Custom Query Vars

In order to be able to add and work with your own custom query vars that you append to URLs (eg: “http://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.

So, to expose your new, custom query variable to WP_Query hook into the ‘query_vars‘ filter, add your query variable to the $vars array that is passed by the filter, and remember to return the array as the output of your filter function. See below:


function themeslug_query_vars( $qvars ) {
	$qvars[] = 'custom_query_var';
	return $qvars;
}
add_filter( 'query_vars', 'themeslug_query_vars' );

Top ↑

Examples

Getting current page pagination number

$paged = get_query_var( 'paged', 1 );
echo 'Currently Browsing Page ', $paged;

To get the current pagination number on a static front page (Page template) you have to use the ‘page’ query variable:

$paged = get_query_var( 'page', 1 );
echo 'Currently Browsing Page ', $paged, ' on a static front page';

Note: The query variable ‘page’ holds the pagenumber for a single paginated Post or Page that includes the Quicktag in the post content.

 


Top ↑

Source

File: wp-includes/query.php

function get_query_var( $var, $default = '' ) {
	global $wp_query;
	return $wp_query->get( $var, $default );
}


Top ↑

Changelog

Changelog
VersionDescription
3.9.0The $default argument was introduced.
1.5.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.