W3cubDocs

/WordPress

get_category_children( int $id, string $before = ‘/’, string $after = , array $visited = array() ): string

Retrieve category children list separated before and after the term IDs.

Description

See also

Parameters

$idintrequired
Category ID to retrieve children.
$beforestringoptional
Prepend before category term ID. Default '/'.

Default:'/'

$afterstringoptional
Append after category term ID.

Default:''

$visitedarrayoptional
Category Term IDs that have already been added.

Default:array()

Return

string

Source

function get_category_children( $id, $before = '/', $after = '', $visited = array() ) {
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_term_children()' );
	if ( 0 == $id )
		return '';

	$chain = '';
	/** TODO: Consult hierarchy */
	$cat_ids = get_all_category_ids();
	foreach ( (array) $cat_ids as $cat_id ) {
		if ( $cat_id == $id )
			continue;

		$category = get_category( $cat_id );
		if ( is_wp_error( $category ) )
			return $category;
		if ( $category->parent == $id && !in_array( $category->term_id, $visited ) ) {
			$visited[] = $category->term_id;
			$chain .= $before.$category->term_id.$after;
			$chain .= get_category_children( $category->term_id, $before, $after );
		}
	}
	return $chain;
}

Changelog

Version Description
2.8.0 Use get_term_children()
1.2.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_category_children