[DEPRECATED] - Please do not use this repo as-is
Notes:
A simple Wordpress plugin for adding geographic data to posts.
location
, latitude
, and longitude
meta + metaboxes to any content type.WP_GeoQuery
an extended WP_Query
class for doing distance based and geo-aware queries.within radius
option to WP_GeoQueryGet Directions
link (utilizing Google Maps)wp-geo-posts
folder to the /wp-content/plugins/
directory.Plugins
menu in WordPress.Settings
link on the plugin management page OR click the WP GeoPosts
link from the Settings flyout menu.Save Changes
.For every post type selected on the plugin settings page. That type's add/edit screens will have an additional metabox automatically added. Metadata that is added to each record:
wp_gp_location
wp_gp_latitude
wp_gp_longitude
Latitude and Longitude are readonly attributes of the metabox. Their values are automatically generated on save via a call to Google's geoencoding api.
Make a geo-aware query against the posts table. WP_GeoQuery
accepts all arguments that WP_Query
takes. latitude
and longitude
are optional parameters. If passed, distance
is calculated and returned with each result. In addition to the regular fields, each result returns latitude
, longitude
, and location
.
<?php
$query = new WP_GeoQuery(array(
'latitude' => '37.5160', // User's Latitude (optional)
'longitude' => '-77.5005', // User's Longitude (optional)
'radius' => 25, // Radius to select for in miles (optional)
'posts_per_page' => 25, // Any regular options available via WP_Query
));
foreach($query->posts as $post)
{
echo " {$post->post_title}<br />\n";
// returned only if latitude and longitude are passed into WP_GeoQuery
echo " {$post->distance}<br />\n";
// Always returned by WP_GeoQuery
echo " {$post->location}<br />\n";
echo " {$post->latitude}<br />\n";
echo " {$post->longitude}<br />\n";
echo "<br />\n";
}
?>