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: Джон П. Скэйф
* 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, и он использует жёстко прописанный адрес сайта, вместо того невидимого перенаправления.  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.

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

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