function &_get_cat_children($category_id, $categories) { if (empty($categories)) { return array(); } $category_list = array(); foreach ($categories as $category) { if ($category->cat_ID == $category_id) { continue; } if ($category->category_parent == $category_id) { $category_list[] = $category; if ($children = _get_cat_children($category->cat_ID, $categories)) { $category_list = array_merge($category_list, $children); } } } return $category_list; }
function &_get_cat_children($category_id, $categories) { if ( empty($categories) ) return array(); $category_list = array(); $has_children = _get_category_hierarchy(); if ( ( 0 != $category_id ) && ! isset($has_children[$category_id]) ) return array(); foreach ( $categories as $category ) { if ( $category->cat_ID == $category_id ) continue; if ( $category->category_parent == $category_id ) { $category_list[] = $category; if ( !isset($has_children[$category->cat_ID]) ) continue; if ( $children = _get_cat_children($category->cat_ID, $categories) ) $category_list = array_merge($category_list, $children); } } return $category_list; }