get_term

apply_filters( ‘get_term’, WP_Term $_term, string $taxonomy )

过滤器::过滤分类术语对象。Filter Hook: Filters a taxonomy term object.

参数(Parameters)

参数 类型 说明
$_term (WP_Term) 术语对象。
$taxonomy (string) 分类蛞蝓。

源码(Source)

/** * 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. * * $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 ‘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. * * {@see ‘get_term’} 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. * * {@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. * * @todo Better formatting for DocBlock * * @since 2.3.0 * * @global wpdb $wpdb WordPress database abstraction object. * @see sanitize_term_field() The $context param lists the available values for get_term_by() $filter param. * * @param int|object $term If integer, will get from database. If object will apply filters and return $term. * @param string $taxonomy Taxonomy name that $term is part of. * @param string $output Constant OBJECT, ARRAY_A, or ARRAY_N * @param string $filter Optional, default is or no WordPress defined filter will applied. * @return object|array|null|WP_Error Term Row from database. Will return null if $term is empty. If taxonomy does not * exist then WP_Error will be returned. */function get_term($term, $taxonomy, $output = OBJECT, $filter = ‘raw’) {global $wpdb;if ( empty( $term ) ) {return new WP_Error( ‘invalid_term’, __( ‘Empty Term’ ) );}if ( ! taxonomy_exists( $taxonomy ) ) {return new WP_Error( ‘invalid_taxonomy’, __( ‘Invalid taxonomy’ ) );}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 );}}/** * Filter a term. * * @since 2.3.0 * * @param int|object $_term Term object or ID. * @param string $taxonomy The taxonomy slug. */$_term = apply_filters( ‘get_term’, $_term, $taxonomy );/** * Filter a taxonomy. * * The dynamic portion of the filter name, `$taxonomy`, refers * to the taxonomy slug. * * @since 2.3.0 * * @param int|object $_term Term object or ID. * @param string $taxonomy The taxonomy slug. */$_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;}}

更新版本 源码位置 使用 被使用
4.4.0 wp-includes/taxonomy.php:859 1 0

上一篇:
下一篇:

总计 0 评论

发表评论

作为 登录 | 登出 »

人气排行

联系电话

18321263196

交换链接

互相学习

服务咨询

我的微信