📜  get_terms only parent (1)

📅  最后修改于: 2023-12-03 15:30:53.786000             🧑  作者: Mango

获取只有父级的术语

在WordPress中,可以使用get_terms()函数来获取分类或标签术语。默认情况下,此函数获取所有术语,包括父级和子级。但是,在某些情况下,我们只需要获取父级术语,而不包括子级术语。这时就需要使用get_terms()函数的参数来完成这个操作。

使用参数'parent'

get_terms()函数提供了一个parent参数,可以用来指定只返回父级术语。这个参数的值可以是某个具体的父级术语的ID,也可以是一个数组,包含多个父级术语的ID。

以下是一个示例代码,演示如何使用parent参数获取只有父级的术语:

$parent_terms = get_terms( array(
    'taxonomy' => 'category', // 分类法的名称
    'parent' => 0, // 只返回父级术语
) );

foreach ( $parent_terms as $term ) {
    echo '<h2>' . $term->name . '</h2>'; // 输出父级术语的名称
}

在上面的示例代码中,我们指定了taxonomy参数为category,这意味着我们要获取WordPress默认文章分类法中的术语。parent参数被设置为0,这意味着我们只获取顶层(即没有父级)的术语。

接下来,我们遍历返回的所有顶层术语,并输出它们的名称。

使用参数'child_of'

除了parent参数外,get_terms()函数还提供了一个child_of参数,可以用来指定只返回某个父级术语下的所有子级术语。这个参数的值可以是某个父级术语的ID,也可以是一个数组,包含多个父级术语的ID。

以下是一个示例代码,演示如何使用child_of参数获取某个父级术语下的所有子级术语:

$parent_term_id = 123; // 父级术语的ID
$child_terms = get_terms( array(
    'taxonomy' => 'category', // 分类法的名称
    'child_of' => $parent_term_id, // 只返回某个父级术语下的所有子级术语
) );

foreach ( $child_terms as $term ) {
    echo '<h3>' . $term->name . '</h3>'; // 输出子级术语的名称
}

在上面的示例代码中,我们指定了taxonomy参数为category,这意味着我们要获取WordPress默认文章分类法中的术语。child_of参数被设置为某个具体的父级术语的ID,这意味着我们只获取该父级术语下的所有子级术语。

接下来,我们遍历返回的所有子级术语,并输出它们的名称。

总结

使用get_terms()函数,我们可以轻松地获取WordPress中的分类或标签术语。通过使用parent参数或child_of参数,我们可以自定义我们要获取的术语的类型,从而实现更加灵活的操作。