WP_Query::fill_query_vars()publicWP 2.1.0

Fills in the query variables, which do not exist within the parameter.

Method of the class: WP_Query{}

No Hooks.

Return

Array. Complete query variables with undefined ones filled in empty.

Usage

global $wp_query;
$wp_query->fill_query_vars( $query_vars );
$query_vars(array) (required)
Defined query variables.

Changelog

Since 2.1.0 Introduced.
Since 4.5.0 Removed the comments_popup public query variable.

WP_Query::fill_query_vars() code WP 6.4.3

public function fill_query_vars( $query_vars ) {
	$keys = array(
		'error',
		'm',
		'p',
		'post_parent',
		'subpost',
		'subpost_id',
		'attachment',
		'attachment_id',
		'name',
		'pagename',
		'page_id',
		'second',
		'minute',
		'hour',
		'day',
		'monthnum',
		'year',
		'w',
		'category_name',
		'tag',
		'cat',
		'tag_id',
		'author',
		'author_name',
		'feed',
		'tb',
		'paged',
		'meta_key',
		'meta_value',
		'preview',
		's',
		'sentence',
		'title',
		'fields',
		'menu_order',
		'embed',
	);

	foreach ( $keys as $key ) {
		if ( ! isset( $query_vars[ $key ] ) ) {
			$query_vars[ $key ] = '';
		}
	}

	$array_keys = array(
		'category__in',
		'category__not_in',
		'category__and',
		'post__in',
		'post__not_in',
		'post_name__in',
		'tag__in',
		'tag__not_in',
		'tag__and',
		'tag_slug__in',
		'tag_slug__and',
		'post_parent__in',
		'post_parent__not_in',
		'author__in',
		'author__not_in',
		'search_columns',
	);

	foreach ( $array_keys as $key ) {
		if ( ! isset( $query_vars[ $key ] ) ) {
			$query_vars[ $key ] = array();
		}
	}

	return $query_vars;
}