Filters all query clauses at once, for convenience.
Description
Covers the WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT, fields (SELECT), and LIMIT clauses.
Parameters
$clauses
string[]- Associative array of the clauses for the query.
where
stringThe WHERE clause of the query.groupby
stringThe GROUP BY clause of the query.join
stringThe JOIN clause of the query.orderby
stringThe ORDER BY clause of the query.distinct
stringThe DISTINCT clause of the query.fields
stringThe SELECT clause of the query.limits
stringThe LIMIT clause of the query.
$query
WP_Query- The WP_Query instance (passed by reference).
Source
$clauses = (array) apply_filters_ref_array( 'posts_clauses', array( compact( $pieces ), &$this ) );
Changelog
Version | Description |
---|---|
3.1.0 | Introduced. |
Example migrated from Codex:
In the following example, you can see how you can inspect the current query.
If you need to alter anything, simply set the
$pieces['whatever_part']
string to what you need. Be sure to use appropriate $wpdb properties and methods (e.g.$wpdb->prefix, $wpdb->prepare()
) in your SQL to prevent injection attacks, handle table prefix variations, and so forth.This would be the output on the Admin “All Posts” example.com/wp-admin/edit.php screen: