0ایمیزون ملحق ادارے لنکس کی لوکلائزیشن

میں کبھی کبھار میرے مختلف ویب سائٹس پر مصنوعات حوالہ, اور عام طور پر ان کی خریداری میں دلچسپی رکھنے والے کسی کے لئے ایمیزون کے لئے ان سے منسلک. ایک طویل وقت پہلے میں نے کے ساتھ ایک ایمیزون ملحق ادارے لنک لنک کو استعمال کیا لیکن اپنے مخصوص قارئین اچھی طرح دنیا بھر میں تقسیم کیا ہے کے طور پر کبھی نہیں اس سے کچھ بھی حاصل کی. بدقسمتی ایمیزون ملحق ادارے ادائیگیوں کو برقرار رکھنے کی حالت ان کے مقامی ایمیزون سائٹ پر زائرین ری ڈائریکٹ کرنے کے لئے ایک راستہ فراہم نہیں کرتے. وہاں سے باہر مختلف حل ہیں لیکن میں پایا تمام لوگ ان کے ساتھ مسائل تھے, تاکہ میں اپنے ہی تیار.

کافی مانگ ہے تو مجھے رہائی کے لئے ایک پلگ ان میں ترقی کر سکتا ہے. مطلب وقت میں, کوڈ سے نیچے ہے. آپ اس میں آپ کی ویب سائٹ کے ایڈریس اور آپ ایمیزون ملحق ادارے کوڈ مماثل بنانے کے لئے کچھ تبدیلیاں کرنے کی ضرورت ہوگی

<?پی ایچ پی
/**
* 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: Jon P Scaife
* Author URI: https://jonscaife.com
* License: GPL12
*/
function process_link()
{
$debug=false;

//Detect visitor location from آئی پی

اگر (isset($_SERVER['HTTP_CLIENT_IP']))
{
$real_ip_address = $_SERVER['HTTP_CLIENT_IP'];
}

اگر (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$real_ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
اور
{
$real_ip_address = $_SERVER['REMOTE_ADDR'];
}

function curl_get_contents($یو آر ایل)
{
$چوہدری = curl_init();

curl_setopt($چودھری, CURLOPT_HEADER, 0);
curl_setopt($چودھری, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($چودھری, CURLOPT_URL, $یو آر ایل);

$data = curl_exec($چودھری);
curl_close($چودھری);

return $data;
}

$iptolocation = 'https://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 (isset($_GET['lang']))
{
$userlang= $_GET['lang'];
}
اور
{
$userlang= "EN";
}

//was a link passed

if (isset($_GET['addr']))
{
$original_link= $_GET['addr'];
}

//Decide best amazon site based on data detected

$linkpartone= $_GET['creativeASIN'];

سوئچ ($iplocation)
{
case 'GB':
        $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. $link";
}
اور
{
ہیڈر('Location: '.$link);
die();
}

}
اگر (isset($_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="background: کوئی بھی;" rel="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('<ایک href کی ="https://www.amazon', '<سکرپٹ>var ran_var= Math.random();</سکرپٹ><a style="background: کوئی بھی;" rel="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' )

?>

نوٹ - کوڈ فی الحال ابتدائی مسودے ہے.  یہ کام کرتا ہے, لیکن یہ ایسا کر سکتے ہیں کہ پتہ لگانے کے کچھ کا استعمال نہیں کرتا.  اس ایسوسی ایٹ آئی ڈیز کے لئے ایک کی ترتیبات کے صفحے کی ضرورت نہیں ہے, اور یہ ایک hardcoded کیا سائٹ کا پتہ استعمال کرتا, بلکہ ایک پوشیدہ ری زائد.  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.

جواب چھوڑیں