0Localização de links Amazon Afiliados

Eu ocasionalmente referência produtos em meus vários sites, e, geralmente, associá-los a Amazon para qualquer pessoa interessada em comprá-los. Há muito tempo que eu usei para ligar com um afiliados amazon ligar, mas nunca ganhou nada com isso, como meus leitores típico é bem distribuída ao redor do mundo. Infelizmente Amazon não fornecem uma maneira de redirecionar os visitantes para o seu site amazon local, enquanto mantendo a pagamentos afiliadas. Existem várias soluções lá fora, mas todos os que eu encontrei tinha problemas com eles, então eu desenvolvi meu próprio.

I could develop it into a plugin for release if there is sufficient demand. In the meantime, o código está abaixo. You will need to make some modifications to make it match your site address and your amazon affiliates codes

<?php
/**
* Nome do plugin: Redirecionamento de afiliados da Amazon
* URI do plugin: https://diymediahome.org/
* Descrição: Redireciona todos os links de afiliados da Amazon para uma loja local da Amazon, dependendo da localização dos visitantes.
* Versão: 1.0
* Autor: Cachecol Jon P
* URI do autor: https://jonscaife.com
* Licença: GPL12
*/
função process_link()
{
$debug = false;

//Detectar a localização do visitante de IP

se (isset($_SERVIDOR['HTTP_CLIENT_IP']))
{
$real_ip_address = $ _SERVER['HTTP_CLIENT_IP'];
}

se (isset($_SERVIDOR['HTTP_X_FORWARDED_FOR']))
{
$real_ip_address = $ _SERVER['HTTP_X_FORWARDED_FOR'];
}
outro
{
$real_ip_address = $ _SERVER['REMOTE_ADDR'];
}

função curl_get_contents($url)
{
$CH = curl_init();

curl_setopt($CH, CURLOPT_HEADER, 0);
curl_setopt($CH, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($CH, CURLOPT_URL, $url);

$data = curl_exec($CH);
curl_close($CH);

retornar $ data;
}

$iptolocation = 'http://ip-api.com/php/ ' . $real_ip_address;
$ipreply = @unserialize(curl_get_contents($iptolocation));
$iplocation = $ ipreply['Código do país'];

//Detectar o idioma do visitante no navegador

$ browserlang = substr($_SERVIDOR['HTTP_ACCEPT_LANGUAGE'], 0, 2);

//Detectar o idioma da página que o visitante está usando

E se (isset($_OBTER['lang']))
{
$userlang = $ _GET['lang'];
}
outro
{
$userlang = "SOBRE";
}

//foi um link passado

E se (isset($_OBTER['addr']))
{
$link_original = $ _GET['addr'];
}

//Decida o melhor site amazon com base nos dados detectados

$ linkpartone = $ _GET['creativeASIN'];

interruptor ($iplocation)
{
caso 'GB':
        $link ="https://www.amazon.co.uk/dp/".$linkpartone."/ref = nosim?tag = dimeho-21";
        pausa;
caso 'IE':
        $link ="https://www.amazon.co.uk/dp/".$linkpartone."/ref = nosim?tag = dimeho-21";
pausa;
case 'US':
        $link ="https://www.amazon.com/dp/".$linkpartone."/ref = nosim?tag = jonstech-20";
pausa;
Casas 'CA':
        $link ="https://www.amazon.ca/dp/".$linkpartone."/ref = nosim?tag = dimeho-20";
pausa;
case 'CN':
        $link ="https://www.amazon.cn/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
case 'HK':
        $link ="https://www.amazon.cn/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
caso 'MO':
        $link ="https://www.amazon.cn/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
case 'IN':
        $link ="https://www.amazon.in/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
case 'JP':
        $link ="https://www.amazon.co.jp/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
case 'FR':
        $link ="https://www.amazon.fr/dp/".$linkpartone."/ref = nosim?tag = Dimeho02-21";
pausa;
case 'CH':
        $link ="https://www.amazon.fr/dp/".$linkpartone."/ref = nosim?tag = Dimeho02-21";
pausa;
case 'BE':
        $link ="https://www.amazon.fr/dp/".$linkpartone."/ref = nosim?tag = Dimeho02-21";
pausa;
caso 'MC':
        $link ="https://www.amazon.fr/dp/".$linkpartone."/ref = nosim?tag = Dimeho02-21";
pausa;
Casas 'LU':
        $link ="https://www.amazon.fr/dp/".$linkpartone."/ref = nosim?tag = Dimeho02-21";
pausa;
casas de ':
        $link ="https://www.amazon.de/dp/".$linkpartone."/ref = nosim?tag = dimeho0f-21";
pausa;
case 'CZ':
        $link ="https://www.amazon.de/dp/".$linkpartone."/ref = nosim?tag = dimeho0f-21";
pausa;
case 'IT':
        $link ="https://www.amazon.it/dp/".$linkpartone."/ref = nosim?tag = diymediahome-21";
pausa;
case 'NL':
        $link ="https://www.amazon.nl/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
case 'ES':
        $link ="https://www.amazon.es/dp/".$linkpartone."/ref = nosim?tag = diymediahom05-21";
pausa;
caso 'MX':
        $link ="https://www.amazon.com.mx/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
Caixa 'AU':
        $link ="https://www.amazon.com.au/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
case 'BR':
        $link ="https://www.amazon.com.br/dp/".$linkpartone."/ref = nosim?tag =";
pausa;
omissão:
$link ="https://www.amazon.com/dp/".$linkpartone."/ref = nosim?tag = jonstech-20";
}


se($debug == true)
{
eco "1. $iplocation.  2. $idioma do navegador.  3. $userlang.  4. $link";
}
outro
{
cabeçalho('Localização: '. $ link);
a();
}

}
se (isset($_OBTER['addr'])) process_link();

//criar filtro para substituir links amazon com redirecionamento interno inc um código aleatório para evitar cache

function modify_amazon_affiliate_links($conteúdo)
{
$content = str_replace('<um rel ="nofollow" href ="https://www.amazon ', '<escrita>var ran_var = Math.random();</escrita><um estilo ="fundo: nenhum;" rel ="nofollow" onclick ="location.href=this.href+\'?ran=\'+ran_var;return false;" alvo ="_em branco" href ="https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr = ', $conteúdo);
return str_replace('<um href ="https://www.amazon ', '<escrita>var ran_var = Math.random();</escrita><um estilo ="fundo: nenhum;" rel ="nofollow" onclick ="location.href=this.href+\'?ran=\'+ran_var;return false;" alvo ="_em branco" href ="https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr = ', $conteúdo);
}
add_filter( 'o conteúdo', 'modify_amazon_affiliate_links' )

?>

Nota – the code is currently early draft. Funciona, but it doesn’t make use of some of the detection that it can do. It doesn’t have a settings page for the associate IDs, and it uses a hardcoded site address, rather than an invisible redirect. It DOES however use client-side javascript to generate a unique redirect url every time to prevent any caching systems from causing incorrect location detection.

Por favor envie-nos a sua opinião comentando abaixo! Se você deseja se inscrever, use o link de inscrição no menu no canto superior direito. Você também pode compartilhar isso com seus amigos usando os links sociais abaixo. Felicidades.

Deixe uma resposta