Я создаю меню выбора возраста в администраторе, заполненный из таксономии 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 родительский идентификатор. Вот что я пока показываю, где показывают детей от 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>';
?>
get_terms
звонка). Ваш вопрос читается так, как будто вы хотите, чтобы у всех детей были два конкретных родительских термина.
get_terms
дважды и объедините два массива результатов?