get_term_children()
Получает все дочерние элементы указанного элемента таксономии (категории) в виде массива.
Эта функция объединит все уровни дочерних разделов в один массив, т.е. если мы указали элемент таксономии 10 у которого есть дочерний элемент 15, а у него, в свою очередь, есть раздел 20, то функция соберет в единый массив данные об элементах таксономии 15 и 20.
Функцию логично использовать только для таксономий древовидного типа.
Это рекурсивная (вызывает сама себя) функция, которая только собирает данные, а ID терминов получает _get_term_hierarchy().
Хуков нет.
Возвращает
Массив|WP_Error
. Массив ID дочерних элементов таксономии или объект WP_Error, в случае ошибки.
Использование
$terms = get_term_children( $term, $taxonomy );
- $term(число) (обязательный)
- ID термина, все дочерние разделы которого нужно получить.
- $taxonomy(строка) (обязательный)
- Название таксономии с которой будет работать функция.
Примеры
#1 Базовое использование
Выведем ul списком на экран названия дочерних разделов элемента таксономии 10, в виде ссылок на соответствующие страницы архивов:
$term_id = 10; // get_queried_object()->term_id; - ID текущей рубрики (динамически) $tax_name = 'products'; $term_childs = get_term_children( $term_id, $tax_name ); echo '<ul>'; foreach ( $term_childs as $child ) { $term = get_term_by( 'id', $child, $tax_name ); echo '<li><a href="' . get_term_link( $term ) . '">' . esc_html( $term->name ) . '</a></li>'; } echo '</ul>';
В результате выполнения этого кода, на экране мы получим, нечто подобное:
<ul> <li><a href="http://example.com">Название термина 1</a></li> <li><a href="http://example.com">Название термина 2</a></li> </ul>
Список изменений
С версии 2.3.0 | Введена. |