我正在admin中创建一个年龄选择菜单,该菜单是根据分类进行填充的age
。分类法是分层的,如下所示:
- 18-25(父母,ID 183)
- 18(小孩)
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26-30(父母,ID 184)
- 26
- 27
- 28
- 29
- 30
我只想列出孩子(18、19等),而不列出父母(18-25、26-30)等。目前,我正在使用get_terms
该parent
参数,但它不接受超过1个父母ID。这是我到目前为止的内容,显示了18-25岁的孩子。
$ages = get_terms( 'age', array(
'hide_empty' => 0,
'parent' => '183',
));
这是我想要的操作,但不受支持。我也尝试过使用数组,但是它也不起作用。
$ages = get_terms( 'age', array(
'hide_empty' => 0,
'parent' => '183,184',
));
我看到有一个get_term_children函数,但是我不确定如何使用它,因为看起来它也只接受一个值。例如:在这个例子中,它将建立一个无序列表,但是我可以修改选择菜单。
<?php
$termID = 183;
$taxonomyName = "age";
$termchildren = get_term_children( $termID, $taxonomyName );
echo '<ul>';
foreach ($termchildren as $child) {
$term = get_term_by( 'id', $child, $taxonomyName );
echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>';
}
echo '</ul>';
?>
@Mark谢谢,我想这样做,但是即使将ID合并到数组中,我也看不到它的工作原理,因为它与手动列出它们的方式相同-183、184,但不会工作。
—
安德鲁
阅读了已接受的答案后,我现在从您想要所有术语(不包括顶级术语)的外观上完全不清楚您的问题
—
马克·邓肯
get_terms
。你的问题看,如果你是想.. 2个特定父项的所有儿童
get_terms
两次并合并两个结果数组?