function aitSortTermsHierarchicaly(array &$cats, array &$into, $parentId = 0) { foreach ($cats as $i => $cat) { if ($cat->parent == $parentId) { $into[$cat->term_id] = $cat; unset($cats[$i]); } } foreach ($into as $topCat) { $topCat->children = array(); aitSortTermsHierarchicaly($cats, $topCat->children, $topCat->term_id); } }
$latteParams['mapLocation'] = $mapLocation; $latteParams['mapSearch'] = $mapSearch; // for search form $categories = get_terms('ait-dir-item-category', array('hide_empty' => false, 'orderby' => 'name')); $latteParams['categories'] = $categories; $locations = get_terms('ait-dir-item-location', array('hide_empty' => false, 'orderby' => 'name')); $latteParams['locations'] = $locations; // hierarchical autocomplete if (isset($aitThemeOptions->search->searchCategoriesHierarchical)) { $hCategories = array(); aitSortTermsHierarchicaly($categories, $hCategories); $latteParams['categoriesHierarchical'] = substr(aitGenerateHirerarchicalAutocomplete($hCategories), 0, -1); } if (isset($aitThemeOptions->search->searchLocationsHierarchical)) { $hLocations = array(); aitSortTermsHierarchicaly($locations, $hLocations); $latteParams['locationsHierarchical'] = substr(aitGenerateHirerarchicalAutocomplete($hLocations), 0, -1); } // directory search if (isset($_GET['dir-search'])) { $latteParams['searchTerm'] = $wp_query->query_vars['s']; $latteParams['isGeolocation'] = isset($_GET['geo']) ? true : null; $latteParams['geolocationRadius'] = isset($_GET['geo-radius']) ? $_GET['geo-radius'] : 100; $latteParams['geolocationCircle'] = isset($aitThemeOptions->search->showAdvancedSearchRadius) ? true : null; if (isset($aitThemeOptions->search->searchShowMap)) { // map $latteParams['headerType'] = 'map'; $radius = array(); if (isset($_GET['geo'])) { $radius[] = $_GET['geo-radius']; $radius[] = $_GET['geo-lat'];