$tax, 'hide_empty' => true, 'hierarchical' => false, 'parent' => $parent_term_id, ]); if (!count($terms)) { return []; } $els = []; foreach ($terms as $term) { $selected_attr = $selected_cat == $term->term_id ? 'selected' : ''; $prefix = '   '; for ($i=0; $i < $level; $i++) { $prefix .= '   '; } $els[] = blocksy_html_tag( 'option', [ 'value' => $tax . ':' . $term->term_id, $selected_attr => $selected_attr ], $prefix . $term->name ); $children = get_terms([ 'taxonomy' => $tax, 'hide_empty' => true, 'hierarchical' => false, 'parent' => $term->term_id, ]); if (count($children)) { $els = array_merge( $els, blocksy_reqursive_taxonomy( $tax, $term->term_id, $level + 1, $selected_cat ) ); } } return $els; }