Описание
Объединяет в массив и возвращает все дочерние разделы элемента таксономии (категории).
Эта функция объединит все уровни дочерних разделов в один массив, т.е. если мы указали элемент таксономии 10 у которого дочерним элементом является раздел с ID 15, а у него, в совою очередь, есть еще дочерний раздел 20, то функция соберет в единый массив данные об элементах таксономии 15 и 20.
Эту функцию логично использовать только для таксономий древовидного типа.
Функция возвращает массив ID дочерних элементов таксономии или объект WP_Error, в случае ошибки.
Использование
<?php get_term_children( $term, $taxonomy ) ?>
Параметры
- $term (число) (обязательный)
- ID термина, все дочерние разделы которого нужно получить.
По умолчанию: нет - $taxonomy (строка) (обязательный)
- Название таксономии с которой будет работать функция.
По умолчанию: нет
Примеры
1. Базовое использование.
Выведем ul списком на экран названия дочерних разделов элемента таксономии 10, в виде ссылок на соответствующие страницы архивов:
<?php
$termID = 10;
$taxonomyName = "products";
$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>';
?>
В результате выполнения этого кода, на экране мы получим, нечто подобное:
<ul> <li><a href="http://ссылка">Название термина</a></li> <li><a href="http://ссылка">Название термина</a></li> </ul>
На заметку
- Использует: _get_term_hierarchy()
- Использует: $wpdb
get_term_children()
из файла: /wp-includes/taxonomy.php WP 3.3.2function get_term_children( $term_id, $taxonomy ) {
if ( ! taxonomy_exists($taxonomy) )
return new WP_Error('invalid_taxonomy', __('Invalid Taxonomy'));
$term_id = intval( $term_id );
$terms = _get_term_hierarchy($taxonomy);
if ( ! isset($terms[$term_id]) )
return array();
$children = $terms[$term_id];
foreach ( (array) $terms[$term_id] as $child ) {
if ( isset($terms[$child]) )
$children = array_merge($children, get_term_children($child, $taxonomy));
}
return $children;
}Связанные Функции
- get_adjacent_post() view
- get_term() view
- get_term_by() view
- wp_set_object_terms() view
- wp_delete_object_term_relationships() view
- wp_get_object_terms() view
- wp_set_post_terms() view
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
