apply_filters_ref_array( 'posts_clauses', string[] $clauses, WP_Query $query )
Filters all query clauses at once, for convenience.
Description
Covers the WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT, fields (SELECT), and LIMITS clauses.
Parameters
More Information
The posts_clauses
filter runs before the query gets executed and is essentially the sum of all filters that run immediately before it. So it should be used if you don’t intend to let another plugin override it, or if you need to alter several different parts of the query at once. If you’re only modifying a particular clause, you should probably use one of these clause-specific filters:
* posts_where_paged * posts_groupby * posts_join_paged * posts_orderby * posts_distinct * post_limits * posts_fields
Note: If you’re working on a caching plugin, use the posts_clauses_request filter instead. It’s basically the same filter, but it runs later (and after posts_selection), specifically so that “regular” plugins can execute their filters before your caching plugin does anything.
Source
Changelog
Version | Description |
---|---|
3.1.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/hooks/posts_clauses