WP_Meta_Query::__construct( array $meta_query = false )

Constructor.

Parameters

$meta_query

(array) (Optional) Array of meta query clauses. When first-order clauses or sub-clauses use strings as their array keys, they may be referenced in the 'orderby' parameter of the parent query.

  • 'relation'
    (string) Optional. The MySQL keyword used to join the clauses of the query. Accepts 'AND', or 'OR'. Default 'AND'.
  • '...$0'
    (array) Optional. An array of first-order clause parameters, or another fully-formed meta query.
    • 'key'
      (string) Meta key to filter by.
    • 'compare_key'
      (string) MySQL operator used for comparing the $key. Accepts '=', '!=' 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'REGEXP', 'NOT REGEXP', 'RLIKE', 'EXISTS' (alias of '=') or 'NOT EXISTS' (alias of '!='). Default is 'IN' when $key is an array, '=' otherwise.
    • 'type_key'
      (string) MySQL data type that the meta_key column will be CAST to for comparisons. Accepts 'BINARY' for case-sensitive regular expression comparisons. Default is ''.
    • 'value'
      (string) Meta value to filter by.
    • 'compare'
      (string) MySQL operator used for comparing the $value. Accepts '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'REGEXP', 'NOT REGEXP', 'RLIKE', 'EXISTS' or 'NOT EXISTS'. Default is 'IN' when $value is an array, '=' otherwise.
    • 'type'
      (string) MySQL data type that the meta_value column will be CAST to for comparisons. Accepts 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', or 'UNSIGNED'. Default is 'CHAR'.

Default value: false

Source

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

public function __construct( $meta_query = false ) {
		if ( ! $meta_query ) {
			return;
		}

		if ( isset( $meta_query['relation'] ) && 'OR' === strtoupper( $meta_query['relation'] ) ) {
			$this->relation = 'OR';
		} else {
			$this->relation = 'AND';
		}

		$this->queries = $this->sanitize_query( $meta_query );
	}

Changelog

Version Description
5.3.0 Increased the number of operators available to $compare_key. Introduced $type_key, which enables the $key to be cast to a new data type for comparisons.
5.1.0 Introduced $compare_key clause parameter, which enables LIKE key matches.
4.2.0 Introduced support for naming query clauses by associative array keys.
3.2.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_meta_query/__construct