get_term_children( int $term_id, string $taxonomy )
Merges all term children into a single array of their IDs.
Description
This recursive function will merge all of the children of $term into the same array of term IDs. Only useful for taxonomies which are hierarchical.
Will return an empty array if $term does not exist in $taxonomy.
Parameters
- $term_id
-
(Required) ID of term to get children.
- $taxonomy
-
(Required) Taxonomy name.
Return
(array|WP_Error) List of term IDs. WP_Error returned if $taxonomy
does not exist.
Source
File: wp-includes/taxonomy.php
function 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 ( $term_id == $child ) {
continue;
}
if ( isset($terms[$child]) )
$children = array_merge($children, get_term_children($child, $taxonomy));
}
return $children;
}
Changelog
Version | Description |
---|---|
2.3.0 | Introduced. |