मैं कभी कभी मेरी विभिन्न वेबसाइटों पर उत्पादों को संदर्भित, और आम तौर पर उन्हें खरीदने में रुचि किसी के लिए अमेज़न से लिंक. एक लंबे समय पहले मैं एक अमेज़न सहयोगी कंपनियों लिंक के साथ लिंक किया है, लेकिन यह कुछ भी अर्जित कभी नहीं के रूप में अपने ठेठ पाठकों अच्छी तरह से दुनिया भर में वितरित किया जाता है. दुर्भाग्य से अमेज़न सहयोगी कंपनियों से भुगतान करने के लिए बनाए रखने, जबकि उनके स्थानीय अमेज़न साइट पर आने वाले रीडायरेक्ट करने के लिए एक तरह से प्रदान नहीं करते. वहाँ वहाँ बाहर विभिन्न समाधान कर रहे हैं, लेकिन सभी लोगों को मैंने पाया उन लोगों के साथ मुद्दों था, 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <?php /** * Plugin Name: Amazon Affiliates Redirect * Plugin URI: https://diymediahome.org/ * Description: Redirects all amazon affiliates links to a local amazon store depending on visitors location. * Version: 1.0 * Author: Jon P Scaife * Author URI: https://jonscaife.com * License: GPL12 */ function process_link() { $debug=false; //Detect visitor location from IP if (isset($_SERVER[‘HTTP_CLIENT_IP’])) { $real_ip_address = $_SERVER[‘HTTP_CLIENT_IP’]; } if (isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])) { $real_ip_address = $_SERVER[‘HTTP_X_FORWARDED_FOR’]; } else { $real_ip_address = $_SERVER[‘REMOTE_ADDR’]; } function curl_get_contents($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); $data = curl_exec($ch); curl_close($ch); 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 (isset($_GET[‘lang’])) { $userlang= $_GET[‘lang’]; } else { $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’]; switch ($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; default: $link=“https://www.amazon.com/dp/”.$linkpartone.“/ref=nosim?tag=jonstech-20”; } if($debug==true) { echo “1. $iplocation. 2. $browserlang. 3. $userlang. 4. $link”; } else { header(‘Location: ‘.$link); die(); } } if (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) { $content= str_replace(‘<a rel=“nofollow” href=“https://www.amazon’, ‘<script>var ran_var= Math.random();</script><a style=“background: none;” rel=“nofollow” onclick=“location.href=this.href+\’?ran=\’+ran_var;return false;” target=“_blank” href=“https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=’, $content); return str_replace(‘<a href=“https://www.amazon’, ‘<script>var ran_var= Math.random();</script><a style=“background: none;” rel=“nofollow” onclick=“location.href=this.href+\’?ran=\’+ran_var;return false;” target=“_blank” href=“https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=’, $content); } add_filter( ‘the_content’, ‘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.
लगता है कि हम कुछ नहीं छूटा है? हमें नीचे टिप्पणी से पता करते हैं. आप सदस्यता के लिए चाहते हैं, तो ऊपर दाईं ओर मेनू पर लिंक का उपयोग करें सदस्यता लें. आप नीचे दिए गए सामाजिक लिंक का उपयोग करके अपने दोस्तों के साथ इस साझा कर सकते हैं. चियर्स.
उत्तर छोड़ दें