- Ce sujet contient 1 réponse, 1 participant et a été mis à jour pour la dernière fois par , le il y a 5 années.
2 sujets de 1 à 2 (sur un total de 2)
2 sujets de 1 à 2 (sur un total de 2)
- Vous devez être connecté pour répondre à ce sujet.
WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › Maxmind geolocation et WooCommerce
Étiqueté : geolocation
Bonjour à tous,
Je tente d’utiliser la fonction Woocommerce/Maxmind de geolocalisation mais sans succès.
J’ai créé un compte Maxmind et généré une clé qui est validée (woocommerce>état>Geolocation debug info).
J’ai configuré “Adresse client par défaut” sur “Géolocalisation”.
Voici mon code :
if (class_exists(‘WC_Geolocation’)) {
$location = WC_Geolocation::geolocate_ip(‘ ‘, true, false);
if (isset($location[‘country’])) {
$mycountry = $location[‘country’];
}
}
echo $mycountry;
J’ai également tenté cette syntaxe :
$geolocation = new WC_Geolocation();
$user_ip_address = $geolocation->get_ip_address();
$user_geoip_data = $geolocation->geolocate_ip( $user_ip_address, true, false );
if ( isset($user_geoip_data[‘country’]) && !empty($user_geoip_data[‘country’]) ) {
$user_country = $user_geoip_data[‘country’];
}
echo $user_country;
Cela ne fonctionne que si je renseigne “fallback” et “api_fallback” de “geolocate_ip”.
Les deux fonctionnent mais renvoient invariablement la valeur “FR” (j’ai demandé un test à Montréal) et testé avec locabrowser.com.
Si vous avez une idée d’où cela peut venir, ça me permettrait de comprendre cette fonctionnalité intéressante (et m’éviterai de m’arracher mes derniers cheveux).
Bonjour,
Après maintes recherches et essais, j’ai remarqué dans les logs de Woocommerce un problème d’IP non valide.
En effet, l’IP renvoyée était double !!
J’ai trouvé la solution dans ce sujet (similaire) : https://woofrance.fr/forums/topic/collecte-de-ladresse-ip-du-client-doublee-bug/
Il suffit donc d’ajouter quelques lignes de code (explode) dans le fichier wp-config.php si votre hébergeur est o2switch et tout fonctionne parfaitement.
====================