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.
}$wherestringThe WHERE clause of the query.$groupbystringThe GROUP BY clause of the query.$joinstringThe JOIN clause of the query.$orderbystringThe ORDER BY clause of the query.$distinctstringThe DISTINCT clause of the query.$fieldsstringThe SELECT clause of the query.$limitsstringThe LIMIT clause of the query.
Where this hook fires · 1
wp-includes/class-wp-query.php:3404WP_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.
Signature, return type and hooks compared across 5 parsed releases.
6.6.0
Added the
$old_request and $clauses parameters.from the docblock3.4.0
Introduced.from the docblock
About this page
- Parsed data
- Generated from the wordpress-develop 7.0.4 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.