"office", "posts_per_page" => -1 ); $args['meta_query'] = array( array( 'key' => 'location_city', 'value' => $_REQUEST['country'] ) ); $the_query = new WP_Query($args); $offices = array(); ?> have_posts()) { while ($the_query->have_posts()) { $the_query->the_post(); $ofice_id = get_the_ID(); ?> prefix}posts.ID " . "FROM {$wpdb->prefix}posts " . "INNER JOIN {$wpdb->prefix}postmeta ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}postmeta.post_id) " . "WHERE {$wpdb->prefix}posts.post_type = 'office' AND {$wpdb->prefix}posts.post_status = 'publish' " . "AND ({$wpdb->prefix}postmeta.meta_key = 'location_country' AND {$wpdb->prefix}postmeta.meta_value='{$_REQUEST['country']}' )" . "GROUP BY {$wpdb->prefix}posts.ID ORDER BY {$wpdb->prefix}posts.post_date DESC"; $resultsCity = $wpdb->get_results($sqlCity); ?> ID, 'location_state', true)); endforeach; $cityArrU = array_unique($cityArr); sort($cityArrU); foreach ($cityArrU as $city): if (!empty($city)): ?> prefix}posts.ID " . "FROM {$wpdb->prefix}posts " . "INNER JOIN {$wpdb->prefix}postmeta ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}postmeta.post_id) " . "WHERE {$wpdb->prefix}posts.post_type = 'office' AND {$wpdb->prefix}posts.post_status = 'publish' " . "AND ({$wpdb->prefix}postmeta.meta_key = 'location_state' AND {$wpdb->prefix}postmeta.meta_value='{$_REQUEST['country']}' )" . "GROUP BY {$wpdb->prefix}posts.ID ORDER BY {$wpdb->prefix}posts.post_date DESC"; $resultsCity = $wpdb->get_results($sqlCity); ?> ID, 'location_city', true); endforeach; $cityArrU = array_unique($cityArr); sort($cityArrU); foreach ($cityArrU as $city): if (!empty($city)): ?>

Search for an office below

Loading ...
prefix}posts.ID FROM {$wpdb->prefix}posts INNER JOIN {$wpdb->prefix}postmeta ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}postmeta.post_id) WHERE {$wpdb->prefix}posts.post_type = 'office' AND {$wpdb->prefix}posts.post_status = 'publish' AND {$wpdb->prefix}postmeta.meta_key = 'location_country' GROUP BY {$wpdb->prefix}posts.ID ORDER BY {$wpdb->prefix}posts.post_date DESC"; $resultsState = $wpdb->get_results($sqlState); $location_country = (isset($_REQUEST['country'])) ? $_REQUEST['country'] : ""; $this->alim_setOption($resultsState, 'location_country', $location_country); } public function alim_setState(){ global $wpdb; $country = $_REQUEST['country']; $sqlState = "SELECT {$wpdb->prefix}posts.ID FROM {$wpdb->prefix}posts INNER JOIN {$wpdb->prefix}postmeta ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}postmeta.post_id) WHERE {$wpdb->prefix}posts.post_type = 'office' AND {$wpdb->prefix}posts.post_status = 'publish' AND ({$wpdb->prefix}postmeta.meta_key = 'location_country' AND {$wpdb->prefix}postmeta.meta_value='{$_REQUEST['country']}' ) GROUP BY {$wpdb->prefix}posts.ID ORDER BY {$wpdb->prefix}posts.post_date DESC"; $resultsState = $wpdb->get_results($sqlState); $state = (isset($_REQUEST['state'])) ? $_REQUEST['state'] : ""; if (get_option("st_locator_country") != '1' || $_REQUEST['country'] != '') { echo $this->alim_setOption($resultsState, 'location_state', $state); } } public function alim_setCity() { global $wpdb; if (isset($_REQUEST['state']) && $_REQUEST['state'] != "") { $sqlCity = "SELECT {$wpdb->prefix}posts.ID " . "FROM {$wpdb->prefix}posts " . "INNER JOIN {$wpdb->prefix}postmeta ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}postmeta.post_id) " . "WHERE {$wpdb->prefix}posts.post_type = 'office' AND {$wpdb->prefix}posts.post_status = 'publish' " /* . "AND {$wpdb->prefix}postmeta.meta_key = 'city_value_key' " */ . "AND ({$wpdb->prefix}postmeta.meta_key = 'location_state' AND {$wpdb->prefix}postmeta.meta_value='{$_REQUEST['state']}' )" . "GROUP BY {$wpdb->prefix}posts.ID ORDER BY {$wpdb->prefix}posts.post_date DESC"; $resultsCity = $wpdb->get_results($sqlCity); $city = (isset($_REQUEST['city'])) ? $_REQUEST['city'] : ""; if (get_option("st_locator_state") != '1' || $_REQUEST['state'] != '') { echo $this->alim_setOption($resultsCity, 'location_city', $city); } } else { global $wpdb; $sqlState = "SELECT {$wpdb->prefix}posts.ID FROM {$wpdb->prefix}posts INNER JOIN {$wpdb->prefix}postmeta ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}postmeta.post_id) WHERE {$wpdb->prefix}posts.post_type = 'office' AND {$wpdb->prefix}posts.post_status = 'publish' AND {$wpdb->prefix}postmeta.meta_key = 'location_city' GROUP BY {$wpdb->prefix}posts.ID ORDER BY {$wpdb->prefix}posts.post_date DESC"; $resultsState = $wpdb->get_results($sqlState); $state = (isset($_REQUEST['state'])) ? $_REQUEST['state'] : ""; if (get_option("st_locator_state") != '1' || $_REQUEST['state'] != '') { echo $this->alim_setOption($resultsState, 'location_city', $state); } } } public function alim_setCompany() { global $wpdb; $sqlCompany = "SELECT {$wpdb->prefix}posts.ID FROM " . " {$wpdb->prefix}posts INNER JOIN {$wpdb->prefix}postmeta ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}postmeta.post_id) " . " WHERE {$wpdb->prefix}posts.post_type = 'office' AND {$wpdb->prefix}posts.post_status = 'publish' "; if ((isset($_REQUEST['city']) && $_REQUEST['city'] != "") && (isset($_REQUEST['city']) && $_REQUEST['city'] != "")) { $sqlCompany .= "AND ({$wpdb->prefix}postmeta.meta_key = 'location_city' AND CAST({$wpdb->prefix}postmeta.meta_value AS CHAR)='{$_REQUEST['city']}' ) "; } elseif (isset($_REQUEST['state']) && $_REQUEST['state'] != "") { $sqlCompany .= "AND ({$wpdb->prefix}postmeta.meta_key = 'location_state' AND CAST({$wpdb->prefix}postmeta.meta_value AS CHAR)='{$_REQUEST['state']}' ) "; } $sqlCompany .= " GROUP BY {$wpdb->prefix}posts.ID ORDER BY {$wpdb->prefix}posts.post_date DESC"; $resultsCompany = $wpdb->get_results($sqlCompany); $company = (isset($_REQUEST['company'])) ? $_REQUEST['company'] : ""; echo $this->alim_setOptionCompany($resultsCompany, 'company', $company); } public function alim_setOption($results, $meta_key, $request) { $html = ""; if (count($results) > 0) { $arr = array(); foreach ($results as $result) { $value = get_post_meta($result->ID, $meta_key, true); if (!empty($value)) { $arr[] = $value; } } if (count($arr) > 0) { $arr = array_unique($arr); sort($arr); foreach ($arr as $ar) { print_r($ar); $select = ($request == $ar) ? 'selected="selected"' : ''; $html .= ''; } } } echo $html; //Return $html; } public function alim_setOptionCompany($results, $meta_key, $request) { $html = ""; if (count($results) > 0) { $arr = array(); foreach ($results as $result) { $value = get_the_title($result->ID); //get_field($meta_key, $result); if (!empty($value)) { $select = ($request == $result->ID) ? 'selected="selected"' : ''; $html .= ''; //$arr[$result->ID] = $value; } } } return $html; } // Filter form ends here } $ALIM_OfficeSearchFilter = new ALIM_OfficeSearchFilter();