📍 Filter WordPress posts by distance
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
options-page.php
readme.txt
wp-post-distance-filter.php

README.md

WordPress Post Distance Filter

Filter WordPress posts by distance from a location, and optionally specify a maximum distance.

Download for WordPress here!

This plugin implements simplistic functionality to WordPress posts by enabling archives to be sorted via distances from a specified location when certain URL parameters are detected. You are able to show how far the post's distance is, and restrict results by a certain radius.

Setting Up

Activate the plugin in the Plugins menu. An option should appear under Settings.

Activation

Changing Options

On the options page you'll have a few settings that you can change to make the plugin work to your liking.

  • You can disable all location functionality by disabling it
  • You can change the unit of measurement
  • You can change the URL parameters
  • You can change the name of various meta_keys that the plugin uses when calculating the distance for each post

Options

Specifying Post Locations

To make a post able to be filtered, you must specify the location using a custom field. Enable this at the top of the page.

Custom Field Enable

Then enter the name of your location meta_key and specify the value you want it to show. After updating the post, two more custom fields should appear - the lat and lng keys if done correctly.

Custom Field

Filtering Posts

For any archive page, if the URL location parameter is specified, it will order by distance. You can limit the number of results using the URL radius parameter.

Plugin in Action

You can show distance information using the_distance(); and get_the_distance(); within the WordPress loop.

if (have_posts()) : while (have_posts()) : the_post();

	the_title();
	the_content();
	the_distance();

endwhile; endif;

And that's it!