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).
- 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 IP
geoip_detect2_get_info_from_current_ip($locales = array('en'), $options = array()): Lookup Geo-Information of the current website user
geoip_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 webserver
geoip_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):
- 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).
- You can show or hide content by using a shortcode
[geoip_detect2_show_if country="FR, DE" not_city="Berlin"]TEXT[/geoip_detect2_show_if]. See Shortcode Documentation.
- When enabled on the options page, it adds CSS classes to the body tag such as
- 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:
- A text input that is pre-filled with the detected city (or other property):
[geoip_detect2_text_input city property:city lang:fr id:id class:class default:Paris]
- GeoIP information for the email text:
See 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!
- Be careful to comply to the applicable laws. For example Regulation (EU) 2018/302 (going into effect 03 Dec 2018)…
System Requirements: You will need at least PHP 5.4.
GDPR: This plugin does not store any cookie or user-dependent data. If you use a web-based source (hostip.info, Maxmind Precision, ipstack), the plugin stores all IPs that visited the site in a cache (by default for 7 days) for performance reasons. If you want to disable this behavior, add
define('GEOIP_DETECT_READER_CACHE_TIME', 0); in your theme’s
function.php. Be especially careful when using geographic information to change prices or selling options, as this might not be legal.
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.
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?