WP_Term_Query::__construct
Constructor.
Sets up the term query, based on the query vars passed.
Method of the class: WP_Term_Query{}
No Hooks.
Returns
null. Nothing (null).
Usage
$WP_Term_Query = new WP_Term_Query(); $WP_Term_Query->__construct( $query );
- $query(string|array)
Array or query string of term query parameters.
Default:
''-
taxonomy(string|string[])
Taxonomy name, or array of taxonomy names, to which results should be limited. -
object_ids(int|int[])
Object ID, or array of object IDs. Results will be limited to terms associated with these objects. -
orderby(string)
Field(s) to order terms by. Accepts:- Term fields ('name', 'slug', 'term_group', 'term_id', 'id', 'description', 'parent', 'term_order'). Unless
$object_idsis not empty, 'term_order' is treated the same as 'term_id'. - 'count' to use the number of objects associated with the term.
- 'include' to match the 'order' of the
$includeparam. - 'slug__in' to match the 'order' of the
$slugparam. - 'meta_value'
- 'meta_value_num'.
- The value of
$meta_key. - The array keys of
$meta_query. - 'none' to omit the ORDER BY clause.
Default: 'name'
- Term fields ('name', 'slug', 'term_group', 'term_id', 'id', 'description', 'parent', 'term_order'). Unless
-
order(string)
Whether to order terms in ascending or descending order. Accepts 'ASC' (ascending) or 'DESC' (descending).
Default: 'ASC' -
hide_empty(true|false|int)
Whether to hide terms not assigned to any posts. Accepts
1|true or 0|false.
Default: 1|true -
include(int[]|string)
Array or comma/space-separated string of term IDs to include.
Default: empty array -
exclude(int[]|string)
Array or comma/space-separated string of term IDs to exclude. If$includeis non-empty,$excludeis ignored.
Default: empty array -
exclude_tree(int[]|string)
Array or comma/space-separated string of term IDs to exclude along with all of their descendant terms. If$includeis non-empty,$exclude_treeis ignored.
Default: empty array -
number(int|string)
Maximum number of terms to return. Accepts ''|0 (all) or any positive number.|0 (all). Note that$numbermay not return accurate results when coupled with$object_ids. See #41796 for details.
Default: '' -
offset(int)
The number by which to offset the terms query.
Default: '' -
fields(string)
Term fields to query for. Accepts:- 'all' Returns an array of complete term objects (
WP_Term[]). - 'all_with_object_id' Returns an array of term objects with the 'object_id' param (
WP_Term[]). Works only when the$object_idsparameter is populated. - 'ids' Returns an array of term IDs (
int[]). - 'tt_ids' Returns an array of term taxonomy IDs (
int[]). - 'names' Returns an array of term names (
string[]). - 'slugs' Returns an array of term slugs (
string[]). - 'count' Returns the number of matching terms (
int). - 'id=>parent' Returns an associative array of parent term IDs, keyed by term ID (
int[]). - 'id=>name' Returns an associative array of term names, keyed by term ID (
string[]). - 'id=>slug' Returns an associative array of term slugs, keyed by term ID (
string[]).
Default: 'all'
- 'all' Returns an array of complete term objects (
-
name(string|string[])
Name or array of names to return term(s) for.
Default: '' -
slug(string|string[])
Slug or array of slugs to return term(s) for.
Default: '' -
term_taxonomy_id(int|int[])
Term taxonomy ID, or array of term taxonomy IDs, to match when querying terms. -
hierarchical(true|false)
Whether to include terms that have non-empty descendants (even if$hide_emptyis set to true).
Default: true -
search(string)
Search criteria to match terms. Will be SQL-formatted with wildcards before and after.
Default: '' -
name__like(string)
Retrieve terms with criteria by which a term is LIKE$name__like.
Default: '' -
description__like(string)
Retrieve terms where the description is LIKE$description__like.
Default: '' -
pad_counts(true|false)
Whether to pad the quantity of a term's children in the quantity of each term's "count" object variable.
Default: false -
get(string)
Whether to return terms regardless of ancestry or whether the terms are empty. Accepts 'all' or '' (disabled).
Default: '' -
child_of(int)
Term ID to retrieve child terms of. If multiple taxonomies are passed,$child_ofis ignored. -
parent(int)
Parent term ID to retrieve direct-child terms of.
Default: '' -
childless(true|false)
True to limit results to terms that have no children. This parameter has no effect on non-hierarchical taxonomies.
Default: false -
cache_domain(string)
Unique cache key to be produced when this query is stored in an object cache.
Default: 'core' -
cache_results(true|false)
Whether to cache term information.
Default: true -
update_term_meta_cache(true|false)
Whether to prime meta caches for matched terms.
Default: true -
meta_key(string|string[])
Meta key or keys to filter by. -
meta_value(string|string[])
Meta value or values to filter by. -
meta_compare(string)
MySQL operator used for comparing the meta value. See WP_Meta_Query::__construct() for accepted values and default value. -
meta_compare_key(string)
MySQL operator used for comparing the meta key. See WP_Meta_Query::__construct() for accepted values and default value. -
meta_type(string)
MySQL data type that the meta_value column will be CAST to for comparisons. See WP_Meta_Query::__construct() for accepted values and default value. -
meta_type_key(string)
MySQL data type that the meta_key column will be CAST to for comparisons. See WP_Meta_Query::__construct() for accepted values and default value. - meta_query(array)
An associative array of WP_Meta_Query arguments. See WP_Meta_Query::__construct() for accepted values.
-
Changelog
| Since 4.6.0 | Introduced. |
| Since 4.6.0 | Introduced 'term_taxonomy_id' parameter. |
| Since 4.7.0 | Introduced 'object_ids' parameter. |
| Since 4.9.0 | Added 'slug__in' support for 'orderby'. |
| Since 5.1.0 | Introduced the 'meta_compare_key' parameter. |
| Since 5.3.0 | Introduced the 'meta_type_key' parameter. |
| Since 6.4.0 | Introduced the 'cache_results' parameter. |
WP_Term_Query::__construct() WP Term Query:: construct code WP 6.9.1
public function __construct( $query = '' ) {
$this->query_var_defaults = array(
'taxonomy' => null,
'object_ids' => null,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => true,
'include' => array(),
'exclude' => array(),
'exclude_tree' => array(),
'number' => '',
'offset' => '',
'fields' => 'all',
'name' => '',
'slug' => '',
'term_taxonomy_id' => '',
'hierarchical' => true,
'search' => '',
'name__like' => '',
'description__like' => '',
'pad_counts' => false,
'get' => '',
'child_of' => 0,
'parent' => '',
'childless' => false,
'cache_domain' => 'core',
'cache_results' => true,
'update_term_meta_cache' => true,
'meta_query' => '',
'meta_key' => '',
'meta_value' => '',
'meta_type' => '',
'meta_compare' => '',
);
if ( ! empty( $query ) ) {
$this->query( $query );
}
}