get_term
Get all Term data from database by Term ID.
Description
(array|WP_Term|WP_Error|null) get_term( (int|WP_Term|object) $term, (string) $taxonomy = '', (constant) $output = OBJECT, (string) $filter = 'raw' );
The usage of the get_term function is to apply filters to a term object. It is possible to get a term object from the database before applying the filters.
$term
ID must be part of $taxonomy
, to get from the database. Failure, might be able to be captured by the hooks. Failure would be the same value as $
returns for the get_row method.wpdb
There are two hooks, one is specifically for each term, named get_term,, and the second is for the taxonomy name, term_$taxonomy
.. Both hooks gets the term object, and the taxonomy name as parameters. Both hooks are expected to return a Term object.
hook - Takes two parameters the term Object and the taxonomy name. Must return term object. Used in get_term(…)
as a catch-all filter for every $term
.
hook - Takes two parameters the term Object and the taxonomy name. Must return term object. $taxonomy
will be the taxonomy name, so for example, if category , it would be get_category as the filter name. Useful for custom taxonomies or plugging into default taxonomies.
Returns (array|WP_Term|WP_Error|null)
Object of the type specified by `$output` on success. When `$output` is 'OBJECT', a WP_Term instance is returned. If taxonomy does not exist, a WP_Error is returned. Returns null for miscellaneous failure.
Parameters (4)
- 0. $term (int|WP_Term|object)
- If integer, term data will be fetched from the database, or from the cache if available. If stdClass object (as in the results of a database query), will apply filters and return a
WP_Term
object corresponding to the$term
, data. IfWP_Term
, will return$term
,. - 1. $taxonomy — Optional. (string) =>
''
- Taxonomy name that
$term
is part of. - 2. $output — Optional. (constant) =>
OBJECT
- The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which correspond to a
WP_Term
object, an associative array, or a numeric array, respectively. Default OBJECT. - 3. $filter — Optional. (string) =>
'raw'
- Optional, default is raw or no WordPress defined filter will applied.
Usage
if ( !function_exists( 'get_term' ) ) { require_once ABSPATH . WPINC . '/taxonomy.php'; } $term = null; // Optional. Taxonomy name that $term is part of. $taxonomy = ''; // Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which correspond to // a WP_Term object, an associative array, or a numeric array, respectively. Default OBJECT. $output = OBJECT; // Optional, default is raw or no WordPress defined filter will applied. $filter = 'raw'; // NOTICE! Understand what this does before running. $result = get_term($term, $taxonomy, $output, $filter);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/taxonomy.php
- function get_term( $term, $taxonomy = '', $output = OBJECT, $filter = 'raw' ) {
- if ( empty( $term ) ) {
- }
- if ( $taxonomy && ! taxonomy_exists( $taxonomy ) ) {
- }
- if ( $term instanceof WP_Term ) {
- $_term = $term;
- } elseif ( is_object( $term ) ) {
- if ( empty( $term->filter ) || 'raw' === $term->filter ) {
- $_term = sanitize_term( $term, $taxonomy, 'raw' );
- $_term = new WP_Term( $_term );
- } else {
- $_term = WP_Term::get_instance( $term->term_id );
- }
- } else {
- $_term = WP_Term::get_instance( $term, $taxonomy );
- }
- if ( is_wp_error( $_term ) ) {
- return $_term;
- } elseif ( ! $_term ) {
- return null;
- }
- /**
- * Filters a term.
- *
- * @since 2.3.0
- * @since 4.4.0 `$_term` can now also be a WP_Term object.
- *
- * @param int|WP_Term $_term Term object or ID.
- * @param string $taxonomy The taxonomy slug.
- */
- $_term = apply_filters( 'get_term', $_term, $taxonomy );
- /**
- * Filters a taxonomy.
- *
- * The dynamic portion of the filter name, `$taxonomy`, refers
- * to the taxonomy slug.
- *
- * @since 2.3.0
- * @since 4.4.0 `$_term` can now also be a WP_Term object.
- *
- * @param int|WP_Term $_term Term object or ID.
- * @param string $taxonomy The taxonomy slug.
- */
- $_term = apply_filters( "get_{$taxonomy}", $_term, $taxonomy );
- // Bail if a filter callback has changed the type of the `$_term` object.
- if ( ! ( $_term instanceof WP_Term ) ) {
- return $_term;
- }
- // Sanitize term, according to the specified filter.
- $_term->filter( $filter );
- if ( $output == ARRAY_A ) {
- return $_term->to_array();
- } elseif ( $output == ARRAY_N ) {
- return array_values( $_term->to_array() );
- }
- return $_term;
- }