get_terms描述

您可以在发送查询之前完全注入任何自定义项,并使用过滤器控制输出。

该“get_terms”当缓存期限,并通过发现长期使用$分类的阵列沿和$args来滤镜阵列将被调用。在传递术语数组之前也会调用此过滤器,并将传递术语数组以及$taxonomies和$args。

该“list_terms_exclusions”过滤器经过编译排除用的$ args一起。

该“get_terms_orderby”过滤器传递ORDER BY的查询子句与$ args数组沿。

在4.5.0之前,第一个参数get_terms()是分类法或分类法列表:


$terms = get_terms( 'post_tag', array(
    'hide_empty' => false,
) );

从4.5.0开始,分类法应该通过$args数组中的“taxonomy”参数传递:


$terms = get_terms( array(
    'taxonomy' => 'post_tag',
    'hide_empty' => false,
) );

get_terms参数

$args
(string | array) (可选) 数组或参数字符串。有关已 接受参数的信息,请参阅WP_Term_Query :: __ construct()。

默认值:array()

$deprecated
(array) (可选) 参数数组,使用遗留函数参数格式时。如果存在,则此参数将被解释为$args,并且第一个函数参数将被解析为分类法或分类法数组。

默认值:

get_terms返回

(array | int | WP_Error)WP_Term实例及其子项的列表。如果任何$taxonomies不存在,将返回WP_Error。
来源
文件:wp-includes / taxonomy.php

Changelog
更新日志
版 描述
4.8.0 引入'suppress_filter'参数。
4.5.0 更改了函数签名,以便可以将$args数组作为第一个参数提供。引入了'meta_key'和'meta_value'参数。引入了按元数据订购结果的功能。
4.4.0 引入了将'term_id'作为orderby参数的'id'别名传递的功能。引入了'meta_query'和'update_term_meta_cache'参数。转换为返回WP_Term对象的列表。
4.2.0 引入了'name'和'childless'参数。
2.3.0 介绍。

get_terms实例

按自定义分类法获取类别和子类别:


$taxonomies = get_terms( array(
    'taxonomy' => 'taxonomy_name',
    'hide_empty' => false
) );
 
if ( !empty($taxonomies) ) :
    $output = '<select>';
    foreach( $taxonomies as $category ) {
        if( $category->parent == 0 ) {
            $output.= '<optgroup label="'. esc_attr( $category->name ) .'">';
            foreach( $taxonomies as $subcategory ) {
                if($subcategory->parent == $category->term_id) {
                $output.= '<option value="'. esc_attr( $subcategory->term_id ) .'">
                    '. esc_html( $subcategory->name ) .'</option>';
                }
            }
            $output.='</optgroup>';
        }
    }
    $output.='</select>';
    echo $output;
endif;

获取所有链接类别:


$my_links_categories = get_terms( 'link_category', 'orderby=count&hide_empty=0' );