get_term_children()
Отримує всі дочірні елементи вказаного елемента таксономії (категорії) як масиву.
Ця функція об’єднає всі рівні дочірніх розділів на один масив, тобто. якщо ми вказали елемент таксономії 10, у якого є дочірній елемент 15, а в нього, у свою чергу, є розділ 20, то функція збере в єдиний масив дані про елементи таксономії 15 і 20.
Функцію логічно використовувати лише таксономій деревоподібного типу.
Це рекурсивна (викликає сама себе) функція, яка тільки збирає дані, а ID термінів отримує _get_term_hierarchy() .
_get_term_hierarchy()
(дуже швидко) | 50000 разів – 0.75 сек
(дуже швидко) |
PHP 7.0.5, WP 4.5.2
Хуків немає.
Повертає
Массив|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 | Введено. |