id summary reporter owner description type status priority milestone component version severity resolution keywords cc focuses 43324 query_vars is not necessarely representative of the final query_vars used to build the SQL query msaggiorato "I've recently stumbled upon a case here where the post_type query_var changes over the process of the query building process, and the change is not reflected in the query_vars variable of the query. On the section highlighted [https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-query.php#L2067-L2088 here] (sorry for pasting a GitHub link, i just wanted to use the section highlighting feature), you can see that if there's no post_type set in the query, but you're querying taxonomies (eg a tax archive query), the post_type is set (using a separate variable), and then used on the [https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-query.php#L2345-L2366 following section] to build up the where statement. In my opinion all of the query_vars modified during the process should be reflected in the query_vars variable, so you can after see the actual value being used for querying (on the {{{posts_request}}} filter for example). You can see [https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-query.php#L2152-L2160 here] a section where the {{{$q['author']}}, {{{$q['author__in']}}} and {{{$q['author__not_in']}}}. These is an example of changes that are not reflected in the query_vars (since there's no call to fill_query_vars after all this extra parsing, sanitizing, and defaulting process is made). Let me know your thoughts." enhancement new normal Awaiting Review Query normal