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 IP

إذا (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'];
}

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($_الخادم['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 'غيغابايت':
        $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)
{
echo "1. $iplocation.  2. $browserlang.  3. $userlang.  4. $رابط";
}
آخر
{
رأس('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('<a rel="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( 'the_content', '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.

اترك رد