WP_Tax_Query::__construct( array $tax_query )




(array) (Required) 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'.
  • (array) Optional. 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.


File: wp-includes/class-wp-tax-query.php

	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 );


Version Description
WP-4.1.0 Added support for $operator 'NOT EXISTS' and 'EXISTS' values.
WP-3.1.0 Introduced.