Definition:
function &get_term($term, $taxonomy, $output = OBJECT, $filter = 'raw') {}
Get all Term data from database by Term ID.
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.
Parameters
- int|object $term: If integer, will get from database. If object will apply filters and return $term.
- string $taxonomy: Taxonomy name that $term is part of.
- string $output: Constant OBJECT, ARRAY_A, or ARRAY_N
- string $filter: Optional, default is raw or no WordPress defined filter will applied.
Return values
returns:Term Row from database. Will return null if $term is empty. If taxonomy does not exist then WP_Error will be returned.
Defined filters
- get_term
apply_filters('get_term', $_term, $taxonomy)
- get_$taxonomy
apply_filters("get_$taxonomy", $_term, $taxonomy)
Source code
function &get_term($term, $taxonomy, $output = OBJECT, $filter = 'raw') { global $wpdb; $null = null; if ( empty($term) ) { $error = new WP_Error('invalid_term', __('Empty Term')); return $error; } if ( ! taxonomy_exists($taxonomy) ) { $error = new WP_Error('invalid_taxonomy', __('Invalid Taxonomy')); return $error; } if ( is_object($term) && empty($term->filter) ) { wp_cache_add($term->term_id, $term, $taxonomy); $_term = $term; } else { if ( is_object($term) ) $term = $term->term_id; if ( !$term = (int) $term ) return $null; if ( ! $_term = wp_cache_get($term, $taxonomy) ) { $_term = $wpdb->get_row( $wpdb->prepare( "SELECT t.*, tt.* FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy = %s AND t.term_id = %d LIMIT 1", $taxonomy, $term) ); if ( ! $_term ) return $null; wp_cache_add($term, $_term, $taxonomy); } } $_term = apply_filters('get_term', $_term, $taxonomy); $_term = apply_filters("get_$taxonomy", $_term, $taxonomy); $_term = sanitize_term($_term, $taxonomy, $filter); if ( $output == OBJECT ) { return $_term; } elseif ( $output == ARRAY_A ) { $__term = get_object_vars($_term); return $__term; } elseif ( $output == ARRAY_N ) { $__term = array_values(get_object_vars($_term)); return $__term; } else { return $_term; } }
1747
No comments yet... Be the first to leave a reply!