Function Reference: set_listing_request
Summary
Sets the location request parameters.
Global Values
- $wp_query
- (object) (required) WordPress Query object.
- Default: None
- $wpdb
- (object) (required) WordPress Database object.
- Default: None
- $geodir_post_type
- (string) (required) The post type.
- Default: None
- $geodir_addon_list
- (array) (required) List of active GeoDirectory extensions.
- Default: None
- $table
- (string) (required) Listing table name.
- Default: None
- $dist
- (float) (required) Distance value to be filtered.
- Default: None
- $mylat
- (string) (required) Current latitude.
- Default: None
- $mylon
- (string) (required) Current longitude.
- Default: None
- $s
- (string) (required) Search keyword.
- Default: None
- $snear
- (string) (required) Nearest location to search.
- Default: None
- $s_A
- (string) (required) Extra parameters.
- Default: None
- $s_SA
- (string) (required) Extra parameters.
- Default: None
Change Log
Since: 1.0.0
Source File
set_listing_request() is located in geodirectory-functions/listing_filters.php [Line: 68]
Source Code
function set_listing_request($query ) { global $wp_query, $wpdb, $geodir_post_type, $table, $dist, $mylat, $mylon, $s, $snear, $s, $s_A, $s_SA; // fix woocommerce shop products filtered by language for GD + WPML + Woocommerce if (!geodir_is_geodir_page()) { return; } /* remove all pre filters */ remove_all_filters('query'); remove_all_filters('posts_search'); remove_all_filters('posts_fields'); remove_all_filters('posts_join'); remove_all_filters('posts_orderby'); remove_all_filters('posts_where'); if ((is_search() && isset($_REQUEST['geodir_search']) && $_REQUEST['geodir_search'] != '')): if (isset($_REQUEST['scat']) && $_REQUEST['scat'] == 'all') $_REQUEST['scat'] = ''; //if(isset($_REQUEST['s']) && $_REQUEST['s'] == '+') $_REQUEST['s'] = ''; if (isset($_REQUEST['sdist'])) { ($_REQUEST['sdist'] != '0' && $_REQUEST['sdist'] != '') ? $dist = esc_attr($_REQUEST['sdist']) : $dist = 25000; } elseif (get_option('geodir_search_dist') != '') { $dist = get_option('geodir_search_dist'); } else { $dist = 25000; } // Distance if (isset($_REQUEST['sgeo_lat'])) { $mylat = (float)esc_attr($_REQUEST['sgeo_lat']); } else { $mylat = (float)geodir_get_current_city_lat(); } // Latitude if (isset($_REQUEST['sgeo_lon'])) { $mylon = (float)esc_attr($_REQUEST['sgeo_lon']); } else { $mylon = (float)geodir_get_current_city_lng(); } // Distance if (isset($_REQUEST['snear'])) { $snear = trim(esc_attr($_REQUEST['snear'])); } if (isset($_REQUEST['s'])) { $s = trim(esc_attr(wp_strip_all_tags($_REQUEST['s']))); } if ($snear == 'NEAR ME') { $ip = $_SERVER['REMOTE_ADDR']; $addr_details = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip=' . $ip)); $mylat = stripslashes(geodir_utf8_ucfirst($addr_details[geoplugin_latitude])); $mylon = stripslashes(geodir_utf8_ucfirst($addr_details[geoplugin_longitude])); } if (strstr($s, ',')) { $s_AA = str_replace(" ", "", $s); $s_A = explode(",", $s_AA); $s_A = implode('","', $s_A); $s_A = '"' . $s_A . '"'; } else { $s_A = '"' . $s . '"'; } if (strstr($s, ' ')) { $s_SA = explode(" ", $s); } else { $s_SA = ''; } endif; }