WooCommerce-Shops können je nach Besucherregion unterschiedliche Zahlungshinweise auf Checkout-, Produkt- oder Preisseiten anzeigen. PHP fügt den Hinweiscontainer ein, der Browser ersetzt die Nachricht regional.
API-Erklärung
Ein Browseraufruf prüft die Besucher-IP und liefert IP, Land, Region und Stadt des Besuchers. Das eignet sich für regionale Inhalte.
{"ip":"185.220.236.7","country":"TW","region":"Taiwan","city":"Taipei"}
Anwendungsszenarien
Diese Szenarien zeigen den Wert der IP-Informationsschnittstelle und trennen klar Server-IP von Besucher-IP.
- Diese Szenarien zeigen den Wert der IP-Informationsschnittstelle und trennen klar Server-IP von Besucher-IP.
- Zahlungshinweise nach Besucher-IP in WooCommerce anzeigen
- API-Erklärung
- SEO- und UX-Empfehlungen
Implementierungslogik
Vor der Umsetzung muss der Anfragende klar sein: Serveranfragen liefern Server-IP, Browseranfragen liefern Besucher-IP.
- Vor der Umsetzung muss der Anfragende klar sein: Serveranfragen liefern Server-IP, Browseranfragen liefern Besucher-IP.
- Ein Browseraufruf prüft die Besucher-IP und liefert IP, Land, Region und Stadt des Besuchers. Das eignet sich für regionale Inhalte.
- Alle folgenden Beispiele verwenden direkt
https://my.ipin.io/info, mit lokalisierten Kommentaren und Oberflächentexten. - Standardinhalt sollte vollständig lesbar bleiben, regionale Inhalte dienen als Erweiterung. Suchmaschinen erfassen stabile Inhalte, und die Seite bleibt bei API-Fehlern nutzbar.
Codebeispiel
Alle folgenden Beispiele verwenden direkt https://my.ipin.io/info, mit lokalisierten Kommentaren und Oberflächentexten.
functions.php / plugin
function ipin_geo_payment_notice_html() {
$box_id = 'ipin-payment-notice-' . wp_generate_uuid4();
ob_start();
?>
<div id="<?php echo esc_attr($box_id); ?>" class="woocommerce-info ipin-payment-notice">Willkommen. Dies ist der Standardinhalt.</div>
<script>
(async function () {
const el = document.getElementById("<?php echo esc_js($box_id); ?>");
const defaultText = "Willkommen. Dies ist der Standardinhalt.";
const contentMap = { TW: "Inhalt für Besucher aus Taiwan", US: "Inhalt für Besucher aus den Vereinigten Staaten", JP: "Inhalt für Besucher aus Japan" };
try {
// Browserseitiger Aufruf von /info: erkennt die Besucher-IP.
const info = await fetch("https://my.ipin.io/info").then(res => res.json());
el.textContent = contentMap[info.country] || defaultText;
} catch (e) {
// Bei fehlgeschlagener API-Anfrage den Standardwert behalten.
el.textContent = defaultText;
}
})();
</script>
<?php
return ob_get_clean();
}
add_action('woocommerce_review_order_before_payment', 'ipin_geo_payment_notice');
function ipin_geo_payment_notice() { echo ipin_geo_payment_notice_html(); }
add_shortcode('geo_payment_notice', 'ipin_geo_payment_notice_shortcode');
function ipin_geo_payment_notice_shortcode() { return ipin_geo_payment_notice_html(); }
Shortcode
[geo_payment_notice]
SEO- und UX-Empfehlungen
Standardinhalt sollte vollständig lesbar bleiben, regionale Inhalte dienen als Erweiterung. Suchmaschinen erfassen stabile Inhalte, und die Seite bleibt bei API-Fehlern nutzbar.
Häufige Fehler
Die folgenden Punkte beeinflussen die Genauigkeit des Artikels, die Nutzbarkeit des Codes und die Glaubwürdigkeit der API-Erklärung.
- Die folgenden Punkte beeinflussen die Genauigkeit des Artikels, die Nutzbarkeit des Codes und die Glaubwürdigkeit der API-Erklärung.
- Standardinhalt sollte vollständig lesbar bleiben, regionale Inhalte dienen als Erweiterung. Suchmaschinen erfassen stabile Inhalte, und die Seite bleibt bei API-Fehlern nutzbar.
- Vor der Umsetzung muss der Anfragende klar sein: Serveranfragen liefern Server-IP, Browseranfragen liefern Besucher-IP.
- Diese Szenarien zeigen den Wert der IP-Informationsschnittstelle und trennen klar Server-IP von Besucher-IP.
Zusammenfassung
Ein Browseraufruf prüft die Besucher-IP und liefert IP, Land, Region und Stadt des Besuchers. Das eignet sich für regionale Inhalte.
FAQ
Die folgenden Fragen wurden speziell für diesen Artikel formuliert und beziehen sich direkt auf die Umsetzung.