Opened 4 months ago

Last modified 9 days ago

#23329 new enhancement

Deprecate is_main_query() — at Version 1

Reported by: ethitter Owned by:
Priority: normal Milestone: Future Release
Component: Query Version:
Severity: normal Keywords: has-patch
Cc: ethitter, info@…, sirzooro, nashwan.doaqan@…

Description (last modified by SergeyBiryukov)

The function is_main_query() is misleading, and rather useless. In practical situations, it is necessary to reference the method in the current query object, such as when used at the pre_get_posts action.

The example in the Codex is even wrong:

  add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' );

  function foo_modify_query_exclude_category( $query ) {
      if ( ! is_admin() && is_main_query() && ! $query->get( 'cat' ) )
          $query->set( 'cat', '-5' );
  }

I propose deprecating the function as an encouragement for users to refer to the query object method instead.

Change History (2)

  • Description modified (diff)

Also suggested in ticket:13961:29.

Note: See TracTickets for help on using tickets.