0亚马逊关联链接本地化

我偶尔会参考产品对我的各种网站, 通常将它们链接到亚马逊的人有兴趣购买它们. 很久以前,我曾经有一个亚马逊子公司链接到链接,但我的典型读者是在世界各地分布均匀从来没有获得来自任何东西. 不幸的是亚马逊没有提供一种方式来将访问者重定向到其本地亚马逊网站,同时保留对子公司支付. 有各种不同的解决方案在那里,但所有我发现那些有问题与他们, 所以我开发了我自己.

我可以发展成发布一个插件,如果有足够的需求. 在平均时间, 代码是下面. 您将需要进行一些修改,使之符合您的网站地址和亚马逊子公司代码

<?PHP
/**
* 插件名称: 亚马逊会员重定向
* 插件URI: https://diymediahome.org/
* 描述: 根据访问者的位置将所有亚马逊会员链接重定向到本地亚马逊商店.
* 版本: 1.0
* 作者: 乔恩·P·斯凯夫
* 作者URI: https://jonscaife.com
* 执照: GPL12
*/
函数process_link()
{
$调试=假;

//从中检测访客位置 知识产权

如果 (isset($_服务器['HTTP_CLIENT_IP']))
{
$real_ip_address = $ _SERVER['HTTP_CLIENT_IP'];
}

如果 (isset($_服务器['HTTP_X_FORWARDED_FOR']))
{
$real_ip_address = $ _SERVER['HTTP_X_FORWARDED_FOR'];
}
其他
{
$real_ip_address = $ _SERVER['REMOTE_ADDR'];
}

函数curl_get_contents($网址)
{
$CH = curl_init();

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

$数据= curl_exec($CH);
curl_close($CH);

返回$ data;
}

$iptolocation = 'https://ip-api.com/php/' . $real_ip_address;
$ipreply = @反序列化(curl_get_contents($iptolocation));
$iplocation = $ ipreply['countryCode'];

//从浏览器检测访客语言

$ browserlang = substr($_服务器['HTTP_ACCEPT_LANGUAGE'], 0, 2);

//检测页面访问者使用的语言

如果 (isset($_得到['lang']))
{
$userlang = $ _GET['lang'];
}
其他
{
$userlang = "在";
}

//被传递的链接

如果 (isset($_得到['addr']))
{
$original_link = $ _GET['addr'];
}

//根据检测到的数据确定最佳亚马逊站点

$ linkpartone = $ _GET['creativeASIN'];

开关 ($iplocation)
{
case 'GB':
        $链接="https://www.amazon.co.uk/dp/".$linkpartone。"/ref = nosim?标签= dimeho-21";
        打破;
case 'IE浏览器':
        $链接="https://www.amazon.co.uk/dp/".$linkpartone。"/ref = nosim?标签= dimeho-21";
打破;
case 'US':
        $链接="https://www.amazon.com/dp/".$linkpartone。"/ref = nosim?标签= jonstech-20";
打破;
case 'CA':
        $链接="https://www.amazon.ca/dp/".$linkpartone。"/ref = nosim?标签= dimeho-20";
打破;
case 'CN':
        $链接="https://www.amazon.cn/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'HK':
        $链接="https://www.amazon.cn/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'MO':
        $链接="https://www.amazon.cn/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'IN':
        $链接="https://www.amazon.in/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'JP':
        $链接="https://www.amazon.co.jp/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'FR':
        $链接="https://www.amazon.fr/dp/".$linkpartone。"/ref = nosim?标签= Dimeho02-21";
打破;
case 'CH':
        $链接="https://www.amazon.fr/dp/".$linkpartone。"/ref = nosim?标签= Dimeho02-21";
打破;
case 'BE':
        $链接="https://www.amazon.fr/dp/".$linkpartone。"/ref = nosim?标签= Dimeho02-21";
打破;
case 'MC':
        $链接="https://www.amazon.fr/dp/".$linkpartone。"/ref = nosim?标签= Dimeho02-21";
打破;
case 'LU':
        $链接="https://www.amazon.fr/dp/".$linkpartone。"/ref = nosim?标签= Dimeho02-21";
打破;
case 'DE':
        $链接="https://www.amazon.de/dp/".$linkpartone。"/ref = nosim?标签= dimeho0f-21";
打破;
case 'CZ':
        $链接="https://www.amazon.de/dp/".$linkpartone。"/ref = nosim?标签= dimeho0f-21";
打破;
case 'IT':
        $链接="https://www.amazon.it/dp/".$linkpartone。"/ref = nosim?标签= diymediahome-21";
打破;
case 'NL':
        $链接="https://www.amazon.nl/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'ES':
        $链接="https://www.amazon.es/dp/".$linkpartone。"/ref = nosim?标签= diymediahom05-21";
打破;
case 'MX':
        $链接="https://www.amazon.com.mx/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'AU':
        $链接="https://www.amazon.com.au/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
case 'BR':
        $链接="https://www.amazon.com.br/dp/".$linkpartone。"/ref = nosim?标签=";
打破;
默认:
$链接="https://www.amazon.com/dp/".$linkpartone。"/ref = nosim?标签= jonstech-20";
}


如果($调试==真)
{
回声 "1. $iplocation.  2. $浏览器语言.  3. $用户语言.  4. $链接";
}
其他
{
头('Location: '.$link);
的();
}

}
如果 (isset($_得到['addr'])) process_link();

//创建过滤器以内部重定向公司替换亚马逊链接随机代码,以防止缓存

函数Modify_amazon_affiliate_links($内容)
{
$内容= str_replace('<rel ="Nofollow" HREF ="https://www.amazon', '<脚本>var ran_var = Math.random();</脚本><样式="背景: 没有;" 相对="Nofollow" onclick ="location.href=this.href+\'?ran=\'+ran_var;返回false;" 目标="_空白" HREF ="https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $内容);
返回str_replace('<A HREF ="https://www.amazon', '<脚本>var ran_var = Math.random();</脚本><样式="背景: 没有;" 相对="Nofollow" onclick ="location.href=this.href+\'?ran=\'+ran_var;返回false;" 目标="_空白" HREF ="https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $内容);
}
的add_filter( 'the_content', 'modify_amazon_affiliate_links' )

?>

注 - 代码是目前早期草案.  有用, 但是它没有利用它可以进行的某些检测.  它没有关联ID的设置页面, 它使用硬编码的站点地址, 而不是一个无形的重定向.  It DOES how­ever use cli­ent-side javas­cript to gen­er­ate a unique redir­ect url every time to pre­vent any cach­ing sys­tems from caus­ing incor­rect loc­a­tion detection.

发表评论