WP_Tax_Query::__construct( array $tax_query )

In this article



Array of taxonomy query clauses.
  • relation string
    Optional. The MySQL keyword used to join the clauses of the query. Accepts 'AND', or 'OR'. Default 'AND'.
  • ...$0 array
    An array of first-order clause parameters, or another fully-formed tax query.
    • taxonomy string
      Taxonomy being queried. Optional when field=term_taxonomy_id.
    • terms string|int|array
      Term or terms to filter by.
    • field string
      Field to match $terms against. Accepts 'term_id', 'slug', 'name', or 'term_taxonomy_id'. Default: 'term_id'.
    • operator string
      MySQL operator to be used with $terms in the WHERE clause.
      Accepts 'AND', 'IN', ‘NOT IN’, 'EXISTS', ‘NOT EXISTS’.
      Default: 'IN'.
    • include_children bool
      Optional. Whether to include child terms.
      Requires a $taxonomy. Default: true.


public function __construct( $tax_query ) {
	if ( isset( $tax_query['relation'] ) ) {
		$this->relation = $this->sanitize_relation( $tax_query['relation'] );
	} else {
		$this->relation = 'AND';

	$this->queries = $this->sanitize_query( $tax_query );


4.1.0Added support for $operator ‘NOT EXISTS’ and 'EXISTS' values.

User Contributed Notes

You must log in before being able to contribute a note or feedback.