DIY Главная Медиа Logo

Конечная сайт для проектирования и создания вашей установке домашнего кинотеатра и Привет-Fi.

0Локализация Amazon Affiliates ссылки

Я иногда ссылаться на продукты на моих различных веб-сайтах, и, как правило, связывают их с Amazon для тех, кто заинтересован в покупке. Долгое время назад я использовал для связи с амазонкой аффилированной ссылки, но никогда ничего от него не зарабатывал, как моя типичная читаемость хорошо распределяются по всему миру. К сожалению, Amazon не предоставляют способ перенаправления посетителей на свой локальный сайт амазонки, сохраняя при этих филиалах платежей. Существуют различные решения вне там, но все те, которые я нашел, были проблемы с ними, поэтому я разработал мой собственный.

Я мог бы превратить его в плагин для освобождения, если есть достаточный спрос. В то же время, код ниже. Вам нужно будет внести некоторые изменения, чтобы сделать его сопрягать ваш адрес сайта и ваши амазонки филиалов кодов

<?PHP
/**
* Plugin Name: Amazon Affiliates Redirect
* Plugin URI: HTTPS://diymediahome.org/
* Описание: Redirects all amazon affiliates links to a local amazon store depending on visitors location.
* Версия: 1.0
* Author: Джон P Скейф
* Author URI: HTTPS://jonscaife.com
* License: GPL12
*/
function process_link()
{
$debug=false;

//Detect visitor location from IP

если (ушел($_SERVER['HTTP_CLIENT_IP']))
{
$real_ip_address = $_SERVER['HTTP_CLIENT_IP'];
}

если (ушел($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$real_ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
еще
{
$real_ip_address = $_SERVER['REMOTE_ADDR'];
}

function curl_get_contents($URL)
{
$ч = curl_init();

curl_setopt($ч, CURLOPT_HEADER, 0);
curl_setopt($ч, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ч, CURLOPT_URL, $URL);

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

return $data;
}

$iptolocation = 'http://ip-api.com/php/' . $real_ip_address;
$ipreply = @unserialize(curl_get_contents($iptolocation));
$iplocation = $ipreply['countryCode'];

//Detect visitor language from browser

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

//Detect language of page visitor is using

if (ушел($_GET['lang']))
{
$userlang= $_GET['lang'];
}
еще
{
$userlang= "EN";
}

//was a link passed

if (ушел($_GET['addr']))
{
$original_link= $_GET['addr'];
}

//Decide best amazon site based on data detected

$linkpartone= $_GET['creativeASIN'];

переключатель ($iplocation)
{
case 'Гигабайт':
        $link="HTTPS://www.amazon.co.uk/dp/".$linkpartone."/ref=nosim?tag=dimeho-21";
        break;
case 'IE':
        $link="HTTPS://www.amazon.co.uk/dp/".$linkpartone."/ref=nosim?tag=dimeho-21";
break;
case 'US':
        $link="HTTPS://www.amazon.com/dp/".$linkpartone."/ref=nosim?tag=jonstech-20";
break;
case 'CA':
        $link="HTTPS://www.amazon.ca/dp/".$linkpartone."/ref=nosim?tag=dimeho-20";
break;
case 'CN':
        $link="HTTPS://www.amazon.cn/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'HK':
        $link="HTTPS://www.amazon.cn/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'MO':
        $link="HTTPS://www.amazon.cn/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'IN':
        $link="HTTPS://www.amazon.in/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'JP':
        $link="HTTPS://www.amazon.co.jp/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'FR':
        $link="HTTPS://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'CH':
        $link="HTTPS://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'BE':
        $link="HTTPS://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'MC':
        $link="HTTPS://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'LU':
        $link="HTTPS://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'DE':
        $link="HTTPS://www.amazon.de/dp/".$linkpartone."/ref=nosim?tag=dimeho0f-21";
break;
case 'CZ':
        $link="HTTPS://www.amazon.de/dp/".$linkpartone."/ref=nosim?tag=dimeho0f-21";
break;
case 'IT':
        $link="HTTPS://www.amazon.it/dp/".$linkpartone."/ref=nosim?tag=diymediahome-21";
break;
case 'NL':
        $link="HTTPS://www.amazon.nl/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'ES':
        $link="HTTPS://www.amazon.es/dp/".$linkpartone."/ref=nosim?tag=diymediahom05-21";
break;
case 'MX':
        $link="HTTPS://www.amazon.com.mx/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'AU':
        $link="HTTPS://www.amazon.com.au/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'BR':
        $link="HTTPS://www.amazon.com.br/dp/".$linkpartone."/ref=nosim?tag=";
break;
дефолт:
$link="HTTPS://www.amazon.com/dp/".$linkpartone."/ref=nosim?tag=jonstech-20";
}


если($debug==true)
{
эхо "1. $iplocation.  2. $browserlang.  3. $userlang.  4. $ссылка";
}
еще
{
заголовок('Location: '.$link);
die();
}

}
если (ушел($_GET['addr'])) process_link();

//create filter to replace amazon links with internal redirect inc a random code to prevent caching

function modify_amazon_affiliate_links($содержание)
{
$content= str_replace('<отн ="Nofollow" HREF ="HTTPS://www.amazon', '<сценарий>var ran_var= Math.random();</сценарий><a style="фон: никто;" отн ="Nofollow" onclick="location.href=this.href+\'?ran=\'+ran_var;вернуться ложным;" target="_blank" HREF ="HTTPS://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $содержание);
return str_replace('<A HREF ="HTTPS://www.amazon', '<сценарий>var ran_var= Math.random();</сценарий><a style="фон: никто;" отн ="Nofollow" onclick="location.href=this.href+\'?ran=\'+ran_var;вернуться ложным;" target="_blank" HREF ="HTTPS://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $содержание);
}
add_filter( 'Контент', 'modify_amazon_affiliate_links' )

?>

Примечание - код находится в начале проекта.  Оно работает, but it does­n’t make use of some of the detec­tion that it can do.  It does­n’t have a set­tings page for the asso­ci­ate IDs, и он использует жёстко прописанный адрес сайта, вместо того невидимого перенаправления.  Она тем не менее использовать на стороне клиента JavaScript для создания уникального URL перенаправления каждый раз, чтобы предотвратить любые системы кэширования от причинения неправильного определения местоположения.

Думаю, что мы что-то пропустили? Дайте нам знать, комментируя ниже. Если вы хотите подписаться, пожалуйста, используйте ссылку подписки в меню в правом верхнем углу. Вы также можете поделиться этим с друзьями, используя ссылки ниже. ура.

оставьте ответ