WordPress Version: 5.4
/**
* Retrieve category children list separated before and after the term IDs.
*
* @since 1.2.0
* @deprecated 2.8.0 Use get_term_children()
* @see get_term_children()
*
* @param int $id Category ID to retrieve children.
* @param string $before Optional. Prepend before category term ID.
* @param string $after Optional, default is empty string. Append after category term ID.
* @param array $visited Optional. Category Term IDs that have already been added.
* @return string
*/
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;
}