return false;
} $this->table_aliases = array
();
$this->meta_table =
$meta_table;
$this->meta_id_column =
sanitize_key( $type . '_id'
);
$this->primary_table =
$primary_table;
$this->primary_id_column =
$primary_id_column;
$sql =
$this->
get_sql_clauses();
/*
* If any JOINs are LEFT JOINs (as in the case of NOT EXISTS), then all JOINs should
* be LEFT. Otherwise posts with no metadata will be excluded from results.
*/
if ( str_contains( $sql['join'
], 'LEFT JOIN'
) ) { $sql['join'
] =
str_replace( 'INNER JOIN', 'LEFT JOIN',
$sql['join'
] );
} /**
* Filters the meta query's generated SQL.
*
* @since 3.1.0
*
* @param string[] $sql Array containing the query's JOIN and WHERE clauses.
* @param array $queries Array of meta queries.
* @param string $type Type of meta. Possible values include but are not limited
* to 'post', 'comment', 'blog', 'term', and 'user'.
* @param string $primary_table Primary table.
* @param string $primary_id_column Primary column ID.
* @param object $context The main query object that corresponds to the type, for
* example a `WP_Query`, `WP_User_Query`, or `WP_Site_Query`.
*/