【函数说明】
检索分类法或分类法列表中的term。
【函数用法】
get_terms($taxonomies, $args = )
传递变量按 wp_parse_args()等函数所用的格式。
$myterms = get_terms("orderby=count&hide_empty=false");
未指定值的变量使用以下默认值(下文中有说明)。下面的列表中含有$args,将改写默认值。
$args = array(
    'orderby'       => 'name', 
    'order'         => 'ASC',
    'hide_empty'    => true, 
    'exclude'       => array(), 
    'exclude_tree'  => array(), 
    'include'       => array(),
    'number'        => , 
    'fields'        => 'all', 
    'slug'          => , 
    'parent'         => ,
    'hierarchical'  => true, 
    'child_of'      => 0, 
    'get'           => , 
    'name__like'    => ,
    'pad_counts'    => false, 
    'offset'        => , 
    'search'        => , 
    'cache_DOMain'  => 'core'
); 
?> 
- orderby — 默认值为’name’,可以是名称,计数或空(使用term_id)
- order — 默认值为ASC。有效值也包括DESC。
- hide_empty — 默认值为true。不返回空$terms。
- fields — 默认值为all。
- slug — 任何含有slug的term都可以作为该变量的值。默认为空字符串。
- hierarchical — 是否返回层级分类法。默认值为true。
- name_like — 默认值为空字符串。
- pad_counts — 默认值为FALSE。值为true时将计算包括$terms在内的所有子辈。
- get — 默认值为空。可通过为’all’赋值来改写’hide_empty’和’child_of’。
- child_of — 默认值为0。获取该term的所有后代。
- parent — 默认值为0。获取该term的直系子辈(即上辈明确为该值的term)。
详细介绍
在查询被送出前可自定义查询,也可用过滤器控制输出结果。
缓存具有该term,若要将已成立的term及$taxonomies、$args数组一同传递时,’get_terms’过滤器将被调用。
传递term数组前,若要将term数组和$taxonomies、$args一同传递,’get_terms’过滤器也将被调用。
‘list_terms_exclusions’过滤器传递编译的Exclusion和$args。
【函数应用】
获取所有分类按‘count’排序
字符串参数格式:
$categories = get_terms( 'category', 'orderby=count&hide_empty=0' );
数组参数格式:
$categories = get_terms( 'category', array( 'orderby' => 'count', 'hide_empty' => 0 ) );
获取所有友情链接的分类:
$mylinks_categories = get_terms('link_category', 'orderby=count&hide_empty=0');
列出所有不带链接的自定义分类:
 $terms = get_terms("my_taxonomy");
 $count = count($terms);
 if ( $count > 0 ){
     echo "<ul>";
     foreach ( $terms as $term ) {
       echo "<li>" . $term->name . "</li>";
        
     }
     echo "</ul>";
 }
列出所有带上链接的自定义分类:
$args = array( 'taxonomy' => 'my_term' );
$terms = get_terms('my_term', $args);
$count = count($terms); $i=0;
if ($count > 0) {
    $cape_list = '<p class="my_term-archive">';
    foreach ($terms as $term) {
        $i++;
    	$term_list .= '<a href="/term-base/' . $term->slug . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a>';
    	if ($count != $i) $term_list .= ' · '; else $term_list .= '</p>';
    }
    echo $term_list;
}
【源代码】
get_terms() 位于 wp-includes/taxonomy.PHP.