posts_clauses filter-hookWP 3.1.0

Filters all query clauses at once, for convenience.

Covers the WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT, fields (SELECT), and LIMIT clauses.

Usage

add_filter( 'posts_clauses', 'wp_kama_posts_clauses_filter' );

/**
 * Function for `posts_clauses` filter-hook.
 * 
 * @param string[] $clauses Associative array of the clauses for the query.
 *
 * @return string[]
 */
function wp_kama_posts_clauses_filter( $clauses ){

	// filter...
	return $clauses;
}
$clauses(string[])

Associative array of the clauses for the query.

  • where(string)
    The WHERE clause of the query.

  • groupby(string)
    The GROUP BY clause of the query.

  • join(string)
    The JOIN clause of the query.

  • orderby(string)
    The ORDER BY clause of the query.

  • distinct(string)
    The DISTINCT clause of the query.

  • fields(string)
    The SELECT clause of the query.

  • limits(string)
    The LIMIT clause of the query.

Changelog

Since 3.1.0 Introduced.

Where the hook is called

WP_Query::get_posts()
posts_clauses
wp-includes/class-wp-query.php 2950
$clauses = (array) apply_filters_ref_array( 'posts_clauses', array( compact( $pieces ), &$this ) );

Where the hook is used in WordPress

wp-includes/deprecated.php 4546
remove_filter( 'posts_clauses', __FUNCTION__ );