"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
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();