Make WordPress Core

Opened 8 years ago

Last modified 8 years ago

#14600 closed enhancement

Make $wp_query->query always be an array — at Version 1

Reported by: scribu Owned by:
Milestone: 3.1 Priority: normal
Severity: normal Version:
Component: Query Keywords: has-patch commit
Focuses: Cc:

Description (last modified by scribu)

Currently, if you do this:

$query = new WP_Query( array( 'tag' => 'foobar', 'year' => 2010 ) );

$query->query will be array( 'tag' => 'foobar', 'year' => 2010 ).

If you do

$query = new WP_Query('tag=foobar&year=2010');

$query->query will be tag=foobar&year=2010.

I think it would be more useful if $query->query will be an array in both cases. Currently, if you want to check that variable from a filter, you always have to call wp_parse_args() yourself:

function my_posts_where($sql, $wp_query) {
    $wp_query->query = wp_parse_args($wp_query->query);
    if ( isset($wp_query->query['some-var'] )
        // do something

add_filter('posts_where', 'my_posts_where');

Change History (2)

#1 @scribu
8 years ago

  • Description modified (diff)

8 years ago

Note: See TracTickets for help on using tickets.