当前浏览:首页 / WordPress函数 / get_term()

get_term( int|WP_Term|object $term, string $taxonomy = '', string $output = OBJECT, string $filter = 'raw' )

根据Term ID从数据库中获取所有Term数据

term 分类项more...


描述

get_term函数的作用是对term对象应用过滤器。在应用过滤器之前,可以从数据库中获取term对象。

$term ID必须是$taxonomy的一部分(即该$term必须归属于$taxonomy),才能成功获取。如果失败,可能会被钩子抓住。失败的值与get_row方法的$wpdb返回值相同。

有两个钩子,“get_term”钩子作用于每个term,而“get_$taxonomy”钩子用于分类法名称(taxonomy name)。这两个钩子都将term对象和分类法名称作为参数,而且都应该返回一个term对象。

get_term 钩子–接受两个参数:term对象和分类法名称,必须返回term对象。在get_term()中用作于每个$term的全面过滤器。

get_$taxonomy 钩子–接受两个参数:term对象和分类法名称,必须返回term对象。使用钩子时$taxonomy替换为实际分类法名称,例如要过滤“category”分类法,就是“get_category”作为过滤器名称。用于自定义分类法或插入默认分类法。

另见


参数

$term

(int|WP_Term|object) (必填) 如果为整数,将从数据库或缓存(若可用)中获取term数据。如果是stdClass对象(如数据库查询的结果)将应用过滤器并返回带有$term数据的WP_Term对象。如果是WP_Term,将返回$term

$taxonomy

(string) (可选) $term所属的分类法名称(Taxonomy name)。

默认值: ''

$output

(string) (可选) 所需的返回类型。OBJECT、ARRAY_A或ARRAY_N中的一个,分别对应于WP_Term对象、关联数组或数字数组。

默认值: OBJECT

$filter

(string) (可选) 如何净化term字段。

默认值: 'raw'


返回

(WP_Term|array|WP_Error|null) WP_Term实例或数组,取决于$output值。如果$taxonomy不存在返回WP_Error。其他故障为Null。



源码

查看源码 官方文档


更新日志

版本描述
4.4.0如果$outputOBJECT,则转换为返回WP_Term对象。$taxonomy参数是可选的
2.3.0开始引入

使用示例

  • 示例1

    get_term()利用WP对象缓存存储以前获取的term数据。这有助于避免从数据库读取term数据的后续数据I/O调用。例如:

    $term = get_term( 1 , 'store' );
    echo $term->name;
    $term = get_term( 1 , ' store' );
    echo $term->slug;
    

    这个简单的示例只会对数据库执行一个select查询。第二个get_term将使用WP对象缓存从内存中获取前一个term对象。

  • 示例2

    示例
    get_term() 提供了一些方便的信息,但遗憾的是,它缺少链接值。

    $term = get_term( $term_id, $taxonomy );
    

    得到 term slug:例如:

    $slug = $term->slug;
    

    得到 term name:

    $name = $term->name;
    

    得到 term description:

    $desc = $term->description;