wake-up-neo.com

Ist es möglich, eine Zielseite basierend auf dem Standort des Besuchers zu erstellen?

Ich entwerfe eine Veranstaltungswebsite und möchte, dass die Leute eine Homepage sehen, die auf den Veranstaltungen in ihrer Umgebung basiert.

Könnte dies auch mit einem Login geschehen, wenn sie ihre Adresse registrieren?

1
Rob90
  • Der moderne Weg wäre, HTML5 zu verwenden, das Geolocation unterstützt: einfache Demo
  • Eine etwas längere Erklärung, wie dies zu einer Web-App hinzugefügt werden kann , hier
  • Ein Nizza-PHP-Skript, das einen Webdienst namens geoplugin verwendet (die API ist Nizza, keine Ahnung von der Firma, ymmv!)
  • Und last but not least, mit der HTML5-Geolocation von PHP (die Sie für WordPress benötigen würden) bei stackoverflow

Letzteres hat eine nette Erklärung, wie man den Modernizer benutzt, der dann HTML5/Geolocation mit einem Webservice oder so kombiniert.

4

Über die IP-Adresse und einen geoIP-Dienst können die meisten Benutzer sehr unscharfe Standortinformationen abrufen. Ich sage "Fuzzy", weil Sie häufig den Standort der ISP-Server und nicht den spezifischen Standort der jeweiligen IP-Adresse erhalten. Zum Beispiel wird meine IP von zu Hause so aufgelistet, dass sie ungefähr 30-40 Meilen von meinem tatsächlichen Standort entfernt ist. Einige Personen besuchen möglicherweise auch einen Proxy, der Hunderte oder Tausende von Kilometern von ihrem tatsächlichen Standort entfernt sein kann. Wenn das akzeptable Parameter sind, dann so etwas wie ...

$IP = $_SERVER['REMOTE_ADDRESS'];
// get location data
// I am using freegeoip.net for this
// I can't vouch for the service. It is just an example,
// but I queried my IP and it worked well.
$location = wp_remote_get("http://freegeoip.net/json/{$IP}");
// var_dump($location);
// location information is in $location['body']
// check status
if ('200' == $location['response']['code']) {
  $geoloc = json_decode($location['body']); 
  var_dump($geoloc);
  // and you get this
  // stdClass Object
  // (
  //   [city] => xxx
  //   [region_code] => xx
  //   [region_name] => xx
  //   [metrocode] => xxx
  //   [zipcode] => xxxxx
  //   [longitude] => xxxxxx
  //   [latitude] => xxxxxx
  //   [country_code] => xx
  //   [ip] => xxx.xxx.xxx.xxx
  //   [country_name] => xxxxx
  // )
  // you know have what you need to switch your homepage content
}

freegeoip.net begrenzt Anfragen auf 1000 pro Stunde. Achten Sie also darauf, dass Sie den Code nur bei Bedarf ausführen - setzen Sie ein Cookie, etwas. Ich würde empfehlen , die Daten zwischenzuspeichern , um die Anzahl der Anfragen und den Overhead/die Verzögerung bei der Kontaktaufnahme mit einem Drittanbieter-Service zu verringern.

1
s_ha_dum