FOX - Professioneller WooCommerce-Währungsumschalter

Die Verwendung von Geolocation verursacht Probleme, scheint bei mir nicht zu funktionieren

Aufmerksamkeit: von WooCommerce v.3.9 für die Geolocation-Funktionalität maxmind-Schlüssel in den WooCommerce-Einstellungen erforderlich: wp-admin/admin.php?page=wc-settings&tab=integration&section=maxmind_geolocation


Versuchen Sie, die Standortregeln zu ändern und sie in verschiedenen Browsern anzuzeigen, da derselbe Browser Ihnen nur das erste Ergebnis anzeigt. Noch besser Link an die Freunde senden, denn wenn die Datenspeicherung als vorübergehend gewählt ist (auch Memcached oder Redis) sehen Sie in allen Browsern auf Ihrem Computer das gleiche Ergebnis (das gleiche IP) – ein weiterer Computer erforderlich – Link mit Freunden teilen.

Beispiel:

Sie befinden sich in Spanien und möchten GeoLocation überprüfen, also fügen Sie zum Beispiel JPY hinzu, speichern Sie, gehen Sie zu Geo-Regeln und stellen Sie für JPY Spanien ein 

Öffnen Sie zum Beispiel den Opera-Browser, ich meine jeden anderen Browser, den Sie nicht zum Testen Ihrer Site verwendet haben, und Sie werden sehen, dass JPY eingestellt ist! Machen Sie nicht schon heute den gleichen Test im gleichen Browser….

GeoLocation wird von der nativen nativen Woocommerce-API bereitgestellt, sollte also perfekt funktionieren … WOOCS verwendet auf jeden Fall die Woocommerce-Funktionalität. Manchmal kommt es vor, dass an den Orten in der Nähe der Grenze Geo ip ein anderes Land anzeigt, zum Beispiel in Spanien in der Stadt Logroño zeigt, dass es in Frankreich ist.

Genauigkeit: https://www.maxmind.com/en/geoip2-city-accuracy-comparison

Ab Version 2.1.8/1.1.8 seine mögliche Verwendung zum Testen dieses Shortcodes: [woocs_geo_hello] – lassen Sie das übliche Text-Widget oder eine beliebige Seite fallen, um Informationen über den Status der GeoIp-Funktionalität auf Ihrer Website anzuzeigen.


Sie können es auch als nächstes versuchen – fügen Sie den folgenden Code in Ihre aktuelle wp-Themedatei functions.php ein:

add_filter("woocs_geobone_ip",function(){ return true; });

Wenn Sie Cache-Plugins verwenden, aktivieren Sie: WooCommerce-Einstellungen -> Allgemeines -> Standardkundenstandort

Wenn Sie das Rocket-Cache-Plugin verwenden, deaktivieren Sie die Option 'Caching für eingeloggte WordPress-Benutzer aktivieren':

Zum Testen der GeoIP-Funktionalität können Sie den nächsten Dienst verwenden: https://www.locabrowser.com


geben: Wenn Sie sicher sind, dass die oben genannten Empfehlungen richtig umgesetzt wurden, prüfen Sie, ob die Woo-Geo-Funktionalität auf Ihrer Website überhaupt funktioniert: Fügen Sie einfach den Shortcode für das übliche Text-Widget ein [woocs_geo_hello]


Weitere Beispiele für ein Problem:

Die Sache wurde erst heute gelöst. Ich möchte mit Ihnen teilen, wie es gelöst wurde, nachdem ich mich an meinen Anbieter und WC gewandt hatte, für den Fall, dass ein Kunde mit demselben Anbieter das gleiche Problem hat.

Mein Provider ist also Bluehost. Es scheint, dass sie erst vor kurzem damit begonnen haben, HTTP_X_FOWARDED_FOR mit der statischen IP meines Servers zu füllen. Vielleicht ist das nach einem Update passiert, ich weiß es nicht. Sie waren nicht wirklich hilfreich bei der Bereitstellung von Informationen zu all dem. WooCommerce war es, der das Problem nach einiger Zeit erkennen konnte und eine Lösung/Umgehung vorschlug.
WooCommerce überprüft im Allgemeinen die folgenden Variablen für die echte IP (von oben beginnend):

HTTP_X_REAL_IP
HTTP_X_FORWARDED_FOR
REMOTE_ADDR
WooCommerce sucht also das Land für diese IP-Adresse anstelle der IP-Adresse, die in REMOTE_ADDR gespeichert ist.

WooCommerce erwartet, dass HTTP_X_FORWARDED_FOR im folgenden Format vorliegt:

Proxyserver können diesen Header wie folgt senden: X-Forwarded-For: client1, proxy1, proxy2
Stellen Sie sicher, dass wir immer nur über die erste IP in der Liste senden, die immer die Client-IP sein sollte.

WooCommerce schlug eine Problemumgehung vor, bei der ein Snippet zur functions.php hinzugefügt werden sollte, um es zu überschreiben:

if ( isset( $_SERVER['REMOTE_ADDR'] ) && ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $_SERVER['HTTP_X_FORWARDED_FOR'] = $_SERVER['REMOTE_ADDR']; }

Nach dem Einfügen des Snippets in die functions.php funktionierte alles gut und konnte den Währungsumschalter endlich wieder aktivieren 🙂

Note: Außerdem habe ich herausgefunden, dass Hostgator auch ein ähnliches Problem hatte https://wordpress.org/support/topic/same-ip-address-for-all-orders/page/2/#post-11362720

Herzliche Ostergrüsse,
Ezz


Cloudflare

Sie da,

Ich benutze dieses Plugin seit Jahren und es hat großartig funktioniert, bis wir unseren Server geändert haben. Ich habe die meisten im Forum vorgeschlagenen Dinge ausprobiert, konnte aber keinen Erfolg erzielen. Wenn ich das Plugin verwende, zeigt es nur die Euro-Währung an, auch wenn es so konfiguriert ist, dass es die türkische Lira in der Türkei anzeigt. Wir verwenden Ubuntu 22.04 auf EC2 mit Cloudpanel und unsere DNS-Einträge auf Cloudflare. Haben Sie einen Vorschlag für uns, die Standorterkennung zu reaktivieren?

Aufgelöst:

Hallo Pablo und alle, die dies lesen,

Vielen Dank für Ihre Unterstützung, leider war dies nicht die Ursache meines Problems. Ich konnte es an diesem Tag nicht herausfinden, aber jetzt habe ich es gelöst.

Unser neuer Server verwendet Ngnix / Cloudpanel und das Varnish-Cache-System ist aktiv. Wenn der Varnish aktiv ist, erstellt er eine Load Balancer-ähnliche Wand vor dem Server. Wenn der Benutzer also die Website besucht, besucht er tatsächlich Varnish, bevor die an Woocommerce gesendete IP die IP des Lacks ist. Problem gelöst, als ich „real_ip_header CF-Connecting-IP;“ hinzugefügt habe zu meiner Vhost-Datei hinzufügen und dann den Varnish-Cache deaktivieren. Ich arbeite immer noch daran, wie Varnish und das Währungsumschalter-Plugin zusammenarbeiten können. Wenn ich eine Lösung gefunden habe, werde ich sie auch teilen.

Hoffe, das hilft anderen Leuten, die das gleiche oder ein ähnliches Problem haben.

 

Quelle: https://pluginus.net/support/topic/problem-with-new-server/


Hinweise für WP Rocket: FOX funktioniert nicht, während WP Rocket aktiv ist