Lojas WooCommerce podem mostrar avisos de pagamento diferentes conforme a região do visitante. O PHP insere o contêiner, o navegador obtém informações de IP e adapta a mensagem.
Explicação da API
A chamada no navegador verifica o IP do visitante e retorna o IP, país, região e cidade dele. É adequada para conteúdo regional.
{"ip":"185.220.236.7","country":"TW","region":"Taiwan","city":"Taipei"}
Cenários de aplicação
Esses cenários mostram o valor da interface de informações IP e separam claramente IP do servidor e IP do visitante.
- Esses cenários mostram o valor da interface de informações IP e separam claramente IP do servidor e IP do visitante.
- Mostrar avisos de pagamento por IP no WooCommerce
- Explicação da API
- Recomendações de SEO e UX
Lógica de implementação
Antes de implementar, identifique quem faz a requisição: requisições do servidor retornam IP do servidor, requisições do navegador retornam IP do visitante.
- Antes de implementar, identifique quem faz a requisição: requisições do servidor retornam IP do servidor, requisições do navegador retornam IP do visitante.
- A chamada no navegador verifica o IP do visitante e retorna o IP, país, região e cidade dele. É adequada para conteúdo regional.
- Todos os exemplos abaixo usam diretamente
https://my.ipin.io/info, com comentários e textos de interface localizados. - O conteúdo padrão deve permanecer completo e legível, enquanto o conteúdo regional atua como melhoria. Buscadores rastreiam conteúdo estável e a página continua utilizável se a API falhar.
Exemplo de código
Todos os exemplos abaixo usam diretamente https://my.ipin.io/info, com comentários e textos de interface localizados.
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">Bem-vindo. Este é o conteúdo padrão.</div>
<script>
(async function () {
const el = document.getElementById("<?php echo esc_js($box_id); ?>");
const defaultText = "Bem-vindo. Este é o conteúdo padrão.";
const contentMap = { TW: "Conteúdo para visitantes de Taiwan", US: "Conteúdo para visitantes dos Estados Unidos", JP: "Conteúdo para visitantes do Japão" };
try {
// Chamada no navegador para /info: detecta o IP do visitante.
const info = await fetch("https://my.ipin.io/info").then(res => res.json());
el.textContent = contentMap[info.country] || defaultText;
} catch (e) {
// Manter o valor padrão se a requisição da API falhar.
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]
Recomendações de SEO e UX
O conteúdo padrão deve permanecer completo e legível, enquanto o conteúdo regional atua como melhoria. Buscadores rastreiam conteúdo estável e a página continua utilizável se a API falhar.
Erros comuns
Os pontos abaixo afetam a precisão do artigo, a usabilidade do código e a credibilidade da explicação da API.
- Os pontos abaixo afetam a precisão do artigo, a usabilidade do código e a credibilidade da explicação da API.
- O conteúdo padrão deve permanecer completo e legível, enquanto o conteúdo regional atua como melhoria. Buscadores rastreiam conteúdo estável e a página continua utilizável se a API falhar.
- Antes de implementar, identifique quem faz a requisição: requisições do servidor retornam IP do servidor, requisições do navegador retornam IP do visitante.
- Esses cenários mostram o valor da interface de informações IP e separam claramente IP do servidor e IP do visitante.
Resumo
A chamada no navegador verifica o IP do visitante e retorna o IP, país, região e cidade dele. É adequada para conteúdo regional.
Perguntas frequentes
As perguntas abaixo foram escritas especificamente para este artigo e estão diretamente ligadas à implementação.