Les sites WordPress doivent souvent afficher des contenus différents dans les articles, pages produit ou landing pages selon la région du visiteur. Un shortcode peut afficher un contenu par défaut puis appeler https://my.ipin.io/info dans le navigateur.
Explication de l’API
Un appel côté navigateur vérifie l’IP du visiteur et renvoie son IP, son pays, sa région et sa ville. Ce modèle convient au contenu localisé.
{"ip":"185.220.236.7","country":"TW","region":"Taiwan","city":"Taipei"}
Cas d’utilisation
Ces scénarios montrent la valeur de l’interface d’information IP tout en séparant clairement IP serveur et IP visiteur.
- Ces scénarios montrent la valeur de l’interface d’information IP tout en séparant clairement IP serveur et IP visiteur.
- Afficher du contenu géolocalisé par IP visiteur dans WordPress
- Explication de l’API
- Recommandations SEO et UX
Logique d’implémentation
Avant l’implémentation, identifiez le demandeur : une requête serveur renvoie l’IP serveur, une requête navigateur renvoie l’IP visiteur.
- Avant l’implémentation, identifiez le demandeur : une requête serveur renvoie l’IP serveur, une requête navigateur renvoie l’IP visiteur.
- Un appel côté navigateur vérifie l’IP du visiteur et renvoie son IP, son pays, sa région et sa ville. Ce modèle convient au contenu localisé.
- Tous les exemples ci-dessous utilisent directement
https://my.ipin.io/info, avec commentaires et textes d’interface localisés. - Le contenu par défaut doit rester complet et lisible, tandis que le contenu régional sert d’amélioration. Les moteurs indexent un contenu stable et la page reste utilisable si l’API échoue.
Exemple de code
Tous les exemples ci-dessous utilisent directement https://my.ipin.io/info, avec commentaires et textes d’interface localisés.
functions.php / plugin
function ipin_geo_content_shortcode() {
$box_id = 'ipin-geo-content-' . wp_generate_uuid4();
ob_start();
?>
<div id="<?php echo esc_attr($box_id); ?>" class="ipin-geo-box">Bienvenue. Ceci est le contenu par défaut.</div>
<script>
(async function () {
const el = document.getElementById("<?php echo esc_js($box_id); ?>");
const defaultText = "Bienvenue. Ceci est le contenu par défaut.";
const contentMap = { TW: "Contenu pour les visiteurs de Taïwan", US: "Contenu pour les visiteurs des États-Unis", JP: "Contenu pour les visiteurs du Japon" };
try {
// Appel navigateur vers /info : détecte l’IP du visiteur.
const info = await fetch("https://my.ipin.io/info").then(res => res.json());
el.textContent = contentMap[info.country] || defaultText;
} catch (e) {
// Conserver la valeur par défaut si la requête API échoue.
el.textContent = defaultText;
}
})();
</script>
<?php
return ob_get_clean();
}
add_shortcode('geo_content', 'ipin_geo_content_shortcode');
Shortcode
[geo_content]
Recommandations SEO et UX
Le contenu par défaut doit rester complet et lisible, tandis que le contenu régional sert d’amélioration. Les moteurs indexent un contenu stable et la page reste utilisable si l’API échoue.
Erreurs fréquentes
Les points suivants influencent la précision de l’article, l’exploitabilité du code et la crédibilité de l’explication de l’API.
- Les points suivants influencent la précision de l’article, l’exploitabilité du code et la crédibilité de l’explication de l’API.
- Le contenu par défaut doit rester complet et lisible, tandis que le contenu régional sert d’amélioration. Les moteurs indexent un contenu stable et la page reste utilisable si l’API échoue.
- Avant l’implémentation, identifiez le demandeur : une requête serveur renvoie l’IP serveur, une requête navigateur renvoie l’IP visiteur.
- Ces scénarios montrent la valeur de l’interface d’information IP tout en séparant clairement IP serveur et IP visiteur.
Résumé
Un appel côté navigateur vérifie l’IP du visiteur et renvoie son IP, son pays, sa région et sa ville. Ce modèle convient au contenu localisé.
FAQ
Cette FAQ est spécifique à cet article et n’est pas répétée dans tous les articles.