-
Contributors: [benjaminpick] (http://profiles.wordpress.org/benjaminpick)
-
License: [GPL v3 or later] (http://www.gnu.org/licenses/gpl-3.0.html)
-
Donate Link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BSYUZHS8FH3CL
Retrieving Geo-Information using one the Maxmind GeoIP2 databases.
Provides geographic information detected by an IP adress. This can be used in themes or other plugins, as a shortcode, or via CSS body classes. The city & country names are translated in different languages (supported languages).
= Features: =
- Provides these 5 functions (see API Documentation):
geoip_detect2_get_info_from_ip($ip, $locales = array('en'), $options = array())
: Lookup Geo-Information of the specified IPgeoip_detect2_get_info_from_current_ip($locales = array('en'), $options = array())
: Lookup Geo-Information of the current website usergeoip_detect2_get_current_source_description(...)
: Return a human-readable label of the currently chosen source.geoip_detect2_get_external_ip_adress()
: Fetch the internet adress of the webservergeoip_detect2_get_client_ip()
: Get client IP (even if it is behind a reverse proxy)
- You can use one of these data sources (see comparison):
- Free: Maxmind GeoIP2 Lite City, automatically updated every month (licensed CC BY-SA. See FAQ.)
- Commercial: Maxmind GeoIP2 City or Maxmind GeoIP2 Country
- Commercial Web-API: Maxmind GeoIP2 Precision (City, Country or Insights)
- Free (default source): HostIP.info (IPv4 only)
- Hosting-Provider dependent: Cloudflare or Amazon AWS CloudFront (Country)
- For the property names, see the results of a specific IP in the wordpress backend (under Tools > GeoIP Detection).
- You can include these properties into your posts and pages by using the shortcode
[geoip_detect2 property="country.name" default="(country could not be detected)" lang="en"]
(where 'country.name' can be one of the other property names as well, and 'default' and 'lang' are optional). - When enabled on the options page, it adds CSS classes to the body tag such as
geoip-country-DE
andgeoip-continent-EU
. - When enabled on the options page, the client IP respects a reverse proxy of the server.
- If you are using Contact Form 7, you can use these shortcodes:
- A select input with all countries, the detected country being selected by default
[geoip_detect2_countries mycountry]
- Tracking information for the email text
[geoip_detect2_user_info]
- A select input with all countries, the detected country being selected by default
See API Documentation for more info.
= How can I use these functions? =
- You could choose the currency of the store based on the country name
- You could suggest an timezone to use when displaying dates
- You could show the store nearest to your customer
- You show or hide content specific to a geographic target group
- Etc. ... You tell me! I'm rather curious what you'll do with this plugin!
System Requirements: You will need at least PHP 5.4.
This extension is "charity-ware". If you are happy with it, please leave a tip for the benefit of this charity. (See FAQ for more infos.)
This product can provide GeoLite2 data created by MaxMind, available from http://www.maxmind.com.
- Install the plugin
- Go to the plugin's option page and choose a data source.
- Test it by clicking on "Lookup" on the lookup page.
Does geoip_detect2_get_info_from_current_ip()
return the same country, regardless of where you are visiting the site from? Maybe your server has a reverse proxy configured. You can check this: Go to the options page and look for "reverse proxy". Are there 2 IPs listed there? If so, which one corresponds to your public IP?
Technically speaking, how could I verify if my visitor comes from Germany?
How can I show text only if the visitor is coming from Germany?
How can I add the current country name as text in my page?
Which data source should I choose?
Can I change the time period how long the data is cached?
Does this plugin work in a MultiSite-Network environment?
What you mean by "This plugin is charity-ware"?
Further documentation
- Lookup page (under Tools > GeoIP Lookup)
- Options page (under Preferences > GeoIP Detection)
= 2.9.0 =
There have been changes to the reverse proxy logic. If you have enabled a reverse proxy, check if the detected IP is correct.
= 2.9.1 =