wppaste
WordPress

apply_filters( 'split_the_query', bool $split_the_query, WP_Query $query, string $old_request, string[] $clauses )

Since
3.4.0, 6.6.0
Filters whether to split the query.

Description

Splitting the query will cause it to fetch just the IDs of the found posts (and then individually fetch each post by ID), rather than fetching every complete row at once. One massive result vs. many small results.

Compatibility

WordPress
since 6.6.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Parameters

$split_the_querybool
Whether or not to split the query.
$queryWP_Query
The WP_Query instance.
$old_requeststring
The complete SQL query before filtering.
$clausesstring[]
{ Associative array of the clauses for the query.
@type string $where The WHERE clause of the query.
@type string $groupby The GROUP BY clause of the query.
@type string $join The JOIN clause of the query.
@type string $orderby The ORDER BY clause of the query.
@type string $distinct The DISTINCT clause of the query.
@type string $fields The SELECT clause of the query.
@type string $limits The LIMIT clause of the query.
}
  • $wherestring

    The WHERE clause of the query.
  • $groupbystring

    The GROUP BY clause of the query.
  • $joinstring

    The JOIN clause of the query.
  • $orderbystring

    The ORDER BY clause of the query.
  • $distinctstring

    The DISTINCT clause of the query.
  • $fieldsstring

    The SELECT clause of the query.
  • $limitsstring

    The LIMIT clause of the query.

Where this hook fires · 1

  • wp-includes/class-wp-query.php:3399WP_Query::get_posts()

Source code

			 *     @type string $orderby  The ORDER BY clause of the query.			 *     @type string $distinct The DISTINCT clause of the query.			 *     @type string $fields   The SELECT clause of the query.			 *     @type string $limits   The LIMIT clause of the query.			 * }			 */			$split_the_query = apply_filters( 'split_the_query', $split_the_query, $this, $old_request, compact( $pieces ) ); 			if ( $split_the_query ) {				// First get the IDs and then fill in the objects. 				// Beginning of the string is on a new line to prevent leading whitespace. See https://core.trac.wordpress.org/ticket/56841.				$this->request =

Changelog

Introduced in 3.4.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

6.6.0
Added the $old_request and $clauses parameters.from the docblock
3.4.0
Introduced.from the docblock

About this page

Parsed data
Generated from the wordpress-develop 6.8.8 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.