Ochre’s Geolocation Services plugin for
WordPress utilizes the W3C Geolocation API to retrieve a visitor’s physical location, enabling a
WordPress website to present content relevant to a visitors current physical location such as local maps, event listings, branch and franchise locations, social media and other information that is geographically
Global Configuration is available from the WordPress settings->Ochre Geolocation page:
- Global or per-post/per page geolocation behavour
Per-page and per-post configurations include:
- Redirecting to a URL
- Performing a page refresh
- Firing off the ochregeo actions but doing nothing on the front end
- Disabling completely
The following actions for do_action() are fired when a Geolocation update is received:
- ochregeo_received_nosupport : No Geolocation support in the device/browser
- ochregeo_received_unknownpos : A position could not be retrieved
- ochregeo_received_location : Position was received. This action is passed the OCHRELABS_WP_Geolocation object as its only argument
The following AJAX actions are implemented:
- (nopriv) ochregeo_ochregeos : Transmits location information and executes an action based on a per-post/page or global setting.
- (nopriv) ochregeo_get_coordinates : Retrieves last received location information. (we haven’t tested this)
containing information from the Geolocation Service plugin.
Properties of this object are:
res.la; // latitude res.ll; // longitude res.ev; // elevation (not always available - do not rely on) res.ac // accuracy (not always available - do not rely on) If reverse geo coding is enabled, the object may also contain: res.country // country res.countryc // country code res.state // state res.statec // state code res.city // city
El Quickie API Reference
// This is the Ochre Geo object instantiated by the plugin.
$ochre_geo = new OCHRELABS_WP_Geolocation();
// Get status of the current geolocation request. $ochre_geo::STATUS_UPDATED means you have “valid” coordinate data.
// Constants are:
$ochre_geo::STATUS_QUERY; // waiting for update from client
$ochre_geo::STATUS_UPDATED; // received coordinate update from client
$ochre_geo::STATUS_NOTSUPPORTED; // client does not support geo location
$ochre_geo::STATUS_ERROR; // an error was returned from the client
$ochre_geo::STATUS_UNKNOWNPOS; // location was unknown
$ochre_geo::STATUS_DISABLED; // module has been told not to present geolocation query
// Set the location information manually (not normally needed)
// get the current resolved location information – check get_status() first before relying on this data!
// the returned array will be something like: array(“latitude”=>49.1234, “longitude”=>”-123.1234″,”elevation”=>0,”accuracy”=>0);
// geocodes the current resolved location information and returns it as an array like array(“city”=>”Vancouver”,”country”=>”Canada”,”state”=>”British Columbia”,”statec”=>”BC”,”country”=>”Canada”,”countryc”=>”CA”)
<h3>Reverse Geo Coder</h3>We've thrown in Yahoo! place finder Geocoding support. The geocoder() returns an array consisting of something like:
There are none yet.
First release. There may be bugs and other problems! Try it out and let us know if you run into problems or have suggestions for improvement!
- Add option to reverse geo code results
- Fixes for PHP < 5.3 compatability