Retrieve public query variable in the WP_Query class of the global $wp_query object.

get_query_var() 描述


<?php get_query_var$var$default ?>

get_query_var() 用法



(string) (必填) The variable key to retrieve.

默认值: None


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

默认值: empty string

get_query_var() 参数



returns $default if var is not set

get_query_var() 返回值


Getting Current Pagination Number

/* ----------------------------------
 * wordpress之魂 ©
 * ---------------------------------- */

<?php  $paged = get_query_var( 'paged', 1 );  ?>

<h1>Currently Browsing Page <?php echo $paged; ?></h1>

For getting the current pagination number on a static front page (Page template) you have to use the 'page' query variable:

/* ----------------------------------
 * wordpress之魂 ©
 * ---------------------------------- */

<?php  $page = get_query_var( 'page', 1 );  ?>
<h1>Currently Browsing Page <?php echo $page; ?> On a static front page</h1>

Note: The query variable 'page' holds the pagenumber for a single paginated Post or Page that includes the <!--nextpage--> Quicktag in the post content.

get_query_var() 示例


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).

Custom Query Vars

In order to be able to add and work with your own custom query vars that you append to URLs (eg: "" - 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 过滤器 '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' 过滤器, add your query variable to the $vars array that is passed by the 过滤器, and remember to return the array as the output of your 过滤器 function. See below:

/* ----------------------------------
 * wordpress之魂 ©
 * ---------------------------------- */

function add_query_vars_filter( $vars ){
  $vars[] = "my_var";
  return $vars;
add_filter( 'query_vars', 'add_query_vars_filter' );
  • See WP_Query::get()
  • 使用到 global: (object) $wp_query

get_query_var() 注意


添加于 版本: 1.5.0

get_query_var() 历史


get_query_var() 函数的代码位于 wp-includes/query.php.

/* ----------------------------------
 * wordpress之魂 ©
 * ---------------------------------- */
 * Retrieve variable in the WP_Query class.
 * @since 1.5.0
 * @global WP_Query $wp_query
 * @param string $var       The variable key to retrieve.
 * @param mixed  $default   Value to return if the query variable is not set. Default ''.
 * @return mixed
function get_query_var( $var, $default = '' ) {
	global $wp_query;
	return $wp_query->get( $var, $default );

get_query_var() 源文件