[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Source view] [Print] [Project Stats]
Taxonomy API: WP_Tax_Query class
File Size: | 659 lines (20 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
WP_Tax_Query:: (11 methods):
__construct()
sanitize_query()
sanitize_relation()
is_first_order_clause()
get_sql()
get_sql_clauses()
get_sql_for_query()
get_sql_for_clause()
find_compatible_table_alias()
clean_query()
transform_query()
Class: WP_Tax_Query - X-Ref
Core class used to implement taxonomy queries for the Taxonomy API.__construct( $tax_query ) X-Ref |
Constructor. param: array $tax_query { |
sanitize_query( $queries ) X-Ref |
Ensures the 'tax_query' argument passed to the class constructor is well-formed. Ensures that each query-level clause has a 'relation' key, and that each first-order clause contains all the necessary keys from `$defaults`. param: array $queries Array of queries clauses. return: array Sanitized array of query clauses. |
sanitize_relation( $relation ) X-Ref |
Sanitizes a 'relation' operator. param: string $relation Raw relation key from the query argument. return: string Sanitized relation. Either 'AND' or 'OR'. |
is_first_order_clause( $query ) X-Ref |
Determines whether a clause is first-order. A "first-order" clause is one that contains any of the first-order clause keys ('terms', 'taxonomy', 'include_children', 'field', 'operator'). An empty clause also counts as a first-order clause, for backward compatibility. Any clause that doesn't meet this is determined, by process of elimination, to be a higher-order query. param: array $query Tax query arguments. return: bool Whether the query clause is a first-order clause. |
get_sql( $primary_table, $primary_id_column ) X-Ref |
Generates SQL clauses to be appended to a main query. param: string $primary_table Database table where the object being filtered is stored (eg wp_users). param: string $primary_id_column ID column for the filtered object in $primary_table. return: string[] { |
get_sql_clauses() X-Ref |
Generates SQL clauses to be appended to a main query. Called by the public WP_Tax_Query::get_sql(), this method is abstracted out to maintain parity with the other Query classes. return: string[] { |
get_sql_for_query( &$query, $depth = 0 ) X-Ref |
Generates SQL clauses for a single query array. If nested subqueries are found, this method recurses the tree to produce the properly nested SQL. param: array $query Query to parse (passed by reference). param: int $depth Optional. Number of tree levels deep we currently are. return: string[] { |
get_sql_for_clause( &$clause, $parent_query ) X-Ref |
Generates SQL JOIN and WHERE clauses for a "first-order" query clause. param: array $clause Query clause (passed by reference). param: array $parent_query Parent query array. return: array { |
find_compatible_table_alias( $clause, $parent_query ) X-Ref |
Identifies an existing table alias that is compatible with the current query clause. We avoid unnecessary table joins by allowing each clause to look for an existing table alias that is compatible with the query that it needs to perform. An existing alias is compatible if (a) it is a sibling of `$clause` (ie, it's under the scope of the same relation), and (b) the combination of operator and relation between the clauses allows for a shared table join. In the case of WP_Tax_Query, this only applies to 'IN' clauses that are connected by the relation 'OR'. param: array $clause Query clause. param: array $parent_query Parent query of $clause. return: string|false Table alias if found, otherwise false. |
clean_query( &$query ) X-Ref |
Validates a single query. param: array $query The single query. Passed by reference. |
transform_query( &$query, $resulting_field ) X-Ref |
Transforms a single query, from one field to another. Operates on the `$query` object by reference. In the case of error, `$query` is converted to a WP_Error object. param: array $query The single query. Passed by reference. param: string $resulting_field The resulting field. Accepts 'slug', 'name', 'term_taxonomy_id', |
Generated : Thu Nov 21 08:20:01 2024 | Cross-referenced by PHPXref |