获取WordPress指定条件的分类列表函数get_terms()详细介绍和使用方法

在我们WordPress主题开发过程中我们经常需要获取指定的分类列表,这个时候我们就要用到WordPress自带的一个分类函数get_terms()。

函数的基本用法

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

函数参数说明

未指定值的变量使用以下参数默认值(下文中有说明)。下面的列表中含有$args,将改写默认值。

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)。

函数使用举例

获取分类法为category,id等于1的所有分类列表

<?php  
    $terms = get_terms( array( 
        'taxonomy' => 'category', 
        'child_of' => 1,
    ) );
?>
<ul>
    <?php if($terms){?>
        <?php foreach ($terms as $term) {?>
            <li>
                <?php echo $term->name;?>
            </li>
        <?php } ?>
    <?php } ?>
</ul>

如果这个函数的参数还不能满足你的需要,那么你可以看一下WP_Term_Query( $args )这个函数,这个函数参数更丰富,功能更强大,如需了解可以查看《WordPress获取分类信息函数WP_Term_Query()介绍及使用方法》。