wpseek.com
A WordPress-centric search engine for devs and theme authors
get_term › WordPress Function
Since2.3.0
Deprecatedn/a
› get_term ( $term, $taxonomy = '', $output = OBJECT, $filter = 'raw' )
Parameters: (4) |
|
See: | |
Returns: |
|
Defined at: |
|
Codex: | |
Change Log: |
|
Gets 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. $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 $wpdb returns for the get_row method. There are two hooks, one is specifically for each term, named 'getterm', 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. {@see 'get_term'} hook - Takes two parameters the term Object and the taxonomy name. Must return term object. Used in getterm() as a catch-all filter for every $term. {@see 'get$taxonomy'} 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.Source
function get_term( $term, $taxonomy = '', $output = OBJECT, $filter = 'raw' ) { if ( empty( $term ) ) { return new WP_Error( 'invalid_term', __( 'Empty Term.' ) ); } if ( $taxonomy && ! taxonomy_exists( $taxonomy ) ) { return new WP_Error( 'invalid_taxonomy', __( 'Invalid 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; } // Ensure for filters that this is not empty. $taxonomy = $_term->taxonomy; $old_term = $_term; /** * Filters a taxonomy term object. * * The {@see 'get_$taxonomy'} hook is also available for targeting a specific * taxonomy. * * @since 2.3.0 * @since 4.4.0 `$_term` is now a `WP_Term` object. * * @param WP_Term $_term Term object. * @param string $taxonomy The taxonomy slug. */ $_term = apply_filters( 'get_term', $_term, $taxonomy ); /** * Filters a taxonomy term object. * * The dynamic portion of the hook name, `$taxonomy`, refers * to the slug of the term's taxonomy. * * Possible hook names include: * * - `get_category` * - `get_post_tag` * * @since 2.3.0 * @since 4.4.0 `$_term` is now a `WP_Term` object. * * @param WP_Term $_term Term object. * @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. if ( $_term !== $old_term || $_term->filter !== $filter ) { $_term->filter( $filter ); } if ( ARRAY_A === $output ) { return $_term->to_array(); } elseif ( ARRAY_N === $output ) { return array_values( $_term->to_array() ); } return $_term; }