// Proximity


The proximity facet lets you find results near a specified location.


IMPORTANT: For the geolocation button to work in Chrome, the page needs to be HTTPS-enabled. Learn more »

How it Works

The proximity autocomplete box is powered by Google. When you select a location, Google returns the latitude, longitude of that location’s central point.

IMPORTANT: If you search for “Italy” with a 100 kilometer radius, the proximity facet will not automatically return all matches in Italy.

Instead, it will return matches within 100 kilometers from Italy’s center, which could include matches from other countries as well.


The Data Source should be a custom field containing a comma-separated latitude, longitude.

Listify / Listable users: set the facet’s Data Source to geolocation_lat.

If your posts are not geocoded, try the Address Geocoder plugin. If you go this route, then choose martygeocoderlatlng for the data source.

Available Options

Name Description
Other data source Choose a longitude field if stored separately from the latitude
Unit of measurement Miles or kilometers
Radius UI The UI for the radius selector (dropdown, slider, none)

Using a Google Maps API Key

The proximity facet requires a valid Google Maps API key. After generating an API key, add it to Settings > Facet > Settings.

Customize the Radius Options

The first array element is the default radius (feel free to change).

add_filter( 'facetwp_proximity_radius_options', function( $options ) {
    return array( 10, 25, 50, 100, 250 );

Limit Autocomplete to a Specific Country

Force the autocomplete to show only choices in Germany (country code = “de”).

add_filter( 'facetwp_proximity_autocomplete_options', function( $options ) {
    $options['componentRestrictions'] = array(
        'country' => 'de',
    return $options;

Limit Autocomplete to Showing Cities

add_filter( 'facetwp_proximity_autocomplete_options', function( $options ) {
    $options['types'] = ['(cities)'];
    return $options;