Cetin Sert
Cetin Sert

Reputation: 4600

How can I show different content to website visitors from a specific country in PHP?

On my Wordpress blog, I want to show additional content to people from Finland on all pages. Very much like the Feedback button at the left edge of the screen on printfriendly.com. How can I achieve this most reliably using PHP?

Upvotes: 0

Views: 4043

Answers (5)

Peter
Peter

Reputation: 6362

As yet another alternative, you can download one of the SQL databases here and use it to resolve an IP address to a location:

http://www.ipinfodb.com/ip_database.php

Also, they offer an API that does the same thing, but this may not be optimal if you're getting a lot of traffic.

Upvotes: 1

ylebre
ylebre

Reputation: 3130

You have a few bets you can try:

  • convert the IP to a geographic location (PEAR: Net_GeoIP)
  • check the requested language that is used in the browser, and use that. Problem is, a lot of people just have 'english' setup, so this won't always work.

Hope this helps!

Upvotes: 0

Maciej Łebkowski
Maciej Łebkowski

Reputation: 3912

In addition to the other answers (GeoIP), you may try to analyze the Accept-Language header field and serve the content to users that accept finnish language.

You can modify the following function to parse Accept-Language header in PHP:

Upvotes: 1

gahooa
gahooa

Reputation: 137332

Here is a pointer to MaxMind GeoIP Country Database. http://www.maxmind.com/app/country. It's about $50.00 and comes with a PHP library for accessing the information.

Upvotes: 0

Jesse Dorsey
Jesse Dorsey

Reputation: 540

My suggestion would be to use the PHP GeoIP functions to determine the users location based on IP, and serve appropriate content based on that.

More information on GeoIP can be found here.

Upvotes: 4

Related Questions