আমি মাঝে মাঝে আমার বিভিন্ন ওয়েবসাইটের উপর পণ্য রেফারেন্স, এবং সাধারণত তাদের কেনার আগ্রহী যে কেউ জন্য আমাজন তাদের প্রতি সংযোগ আছে. একটি দীর্ঘ সময় আগে আমি আমাজনের অনুমোদনকারী লিঙ্ক সহ লিঙ্ক করার জন্য ব্যবহার কিন্তু এটা থেকে কিছু অর্জন কখনোই আমার টিপিক্যাল পাঠককুল ভাল বিশ্বজুড়ে বিতরণ করা হয়. দুর্ভাগ্যবশত আমাজন অনুমোদনকারী পেমেন্ট ধারনকারী থাকাকালীন তাদের স্থানীয় আমাজন সাইটে দর্শকদের পুনর্নির্দেশ করতে একটি উপায় প্রদান করবেন না. সেখানে বিভিন্ন সমাধান আছে, কিন্তু সব বেশী আমি দেখেছি তাদের সঙ্গে বিষয় ছিল, so I developed my own.
I could develop it into a plugin for release if there is sufficient demand. গড় সময় ইন, the code is below. You will need to make some modifications to make it match your site address and your amazon affiliates codes
<?পিএইচপি /** * 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($URL) { $CH = 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 = '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 'ইন্টারনেট': $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(); } } যদি (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" সূরা"https://www.amazon', '<লিপি>var ran_var= Math.random();</লিপি><a style="background: কেউ না;" rel ="nofollow" onclick="location.href=this.href+\'?ran=\'+ran_var;মিথ্যা ফিরে;" target="_blank" সূরা"https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $বিষয়বস্তু); return str_replace('<সূরা"https://www.amazon', '<লিপি>var ran_var= Math.random();</লিপি><a style="background: কেউ না;" rel ="nofollow" onclick="location.href=this.href+\'?ran=\'+ran_var;মিথ্যা ফিরে;" target="_blank" সূরা"https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $বিষয়বস্তু); } add_filter( 'সূচিপত্র', 'modify_amazon_affiliate_links' ) ?>
Note — the code is currently early draft. It works, but it doesn’t make use of some of the detection that it can do. It doesn’t have a settings page for the associate IDs, and it uses a hardcoded site address, rather than an invisible redirect. It DOES however use client-side javascript to generate a unique redirect url every time to prevent any caching systems from causing incorrect location detection.
“Hi James I realise it has been a long while, but I just checked this on windows 11 (build 23H2)…”