نمایش دکمه لایک فیس بوک و توییتر در سایت فقط برای IP های خارجی

20 دیدگاه

معمولا خیلی از مدیران سایت ها دوست دارند تا در شبکه های اجتماعی حضور فعالی داشته باشند که هم باعث بالا رفتن ترافیک سایت می شود و هم نشانه محبوبیت یک سایت می تواند باشد . برای این کار مدیران سایت امکانات خاصی مانند like فیس بوک در گوشه ای از سایت خود ارائه می کنند که با قرار دادن آن در سایت ، کاربران سریع تر و آسان تر می توانند به جمع دنبال کنندگان شما بپیوندند . تا اینجا مشکلی نیست ولی چون اکثر این شبکه های اجتماعی به دلایل مختلفی داخل کشور در دسترس نیستند ، با قرار دادن کدهای مربوط به آنها در سایت ، سایت معظم پیوندها (peyvandha.ir) باز می شود و به لطف نوآوری آن بعد از گذر چند ثانیه یک پنجره دیگر نیز  باز کرده و خودش را تکثیر می کند و این یعنی نارضایتی بیننده . البته شخصا کاربر مرورگر Opera هستم ، چنین مشکلی رو نداشتم چون این مرورگر اجازه نمی دهد خود به خود این پنجره باز شود  ولی در مرورگرهای دیگر متاسفانه تا جایی که یاد دارم حتی popup blocker ها نیز نمی توانند جلوی این کار را بگیرند .

خوب حالا که با عمق فاجعه آشنا شدید بهتره بریم سراغ حل موضوع 🙂 . روشی که می خواهیم از آن استفاده کنیم این است که بخش های مربوط به شبکه های اجتماعی مسدود شده مثل facebook و twitter رو فقط به ip های خارجی نشان دهیم در این صورت مشکل به صورت کامل حل خواهد شد .

قبل از پرداختن به این موضوع شاید سوالی در ذهن بعضی از دوستان بوجود آمده باشد که اصلا چطور می توانیم این ابزارها را در سایت خود قرار دهیم ؟ با استفاده از سه لینک زیر می تونید باکس ها و دکمه های این سه شبکه رو در سایت تون قرار بدید:

در همین رابطه :   نکته bbpress: حذف تعداد پاسخ ها (0, 0) از نام انجمن

بریم سراغ اصل مطلب .خوب کدی که لازم داریم این کد هست که با زبان php نوشته شده :

<?php
$r=unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
if($r['geoplugin_countryCode']!='IR')
{
?>

کد هاي شبکه اجتماعي اينجا

<?php
}
?>

در این کد همونطور که می بینید ip کاربر رو به سایت geoplugin.net فرستادیم و این سایت یک سری اطلاعات در مورد اون رو به ما برگشت میدهد.یکی از این بخش ها geoplugin_countryCode هست که کد دو حرفی کشور کاربر رو در خودش دارد . برای همین با چک کردن مقدار این گزینه می توانیم بهمیم کاربر با ip ایران هست یا خیر . اگر با ip ایرانی بود کدهای بعدی اجرا می شوند .

ولی چطور کدهای php را در وردپرس اجرا کنیم ؟ بهترین ایده شاید استفاده از ویجت (widget) ها باشد ولی به طور معمول در ویجت های وردپرس امکان اجرای کدهای php نیست . ولی نگران نباشید چون وردپرس برای هر مشکلی حداقل یک راه حل دارد 🙂 پیشنهاد می کنیم پلاگین Executable PHP widget را روی وردپرس تان نصب کنید . بعد از این کار یک ویجت به سیستم اضافه می شود که قابلیت اجرای کدهای php را دارد .

Executable-PHP-widget

 

همونطور که می بینید کدهای php را نوشتیم و کدهایی که از شبکه های اجتماعی دریافت کرده ایم را بین کدهای php قرار دادیم . از این به بعد کاربران تان از شر پنجره های ناخواسته باز شده راحت می شوند . همچنین حجم صفحه برای کاربران با ip ایرانی کمتر می شود .

امیدوارم مفید بوده باشه . اگر شما هم راه حل خودتون رو دارید خوشحال می شیم  حتما بگین 🙂

دسته بندی : PHPهک های وردپرس

20 نظر

  1. چطور توسط کود کردن در php همین لایک را در پروزه خود اضافه کر د من کوشش ها ی زیادی کردم ام نتوانیستم که کود کنم اما میخواهم که برایم آسان راه حل را پشنهاد کنید که چطورکود کنم . وسلام با احترام . منتظر جواب شما …………؟؟؟؟؟؟؟؟

  2. اگه کدی که مربوط به شناسایی ای پی هستو با کد لایک فیسبوک قاطی کنی نتیجه میگی . برای این کار از فیسبوک دیویلوپر استفاده کن بعد سورس ای پی هارو بگیر و ایرانو حذف کن

  3. سلام و ممنون بابت این مطلب
    یک سوال داشتم. من میخوام این کار رو با تبلیغاتم انجام بدم.یک سری تبلیغ دارم که نمیخوام برای آیپی های ایران نمایش دادهبشه. چطور از این کد برای این منظور استفاده کنم؟

    1. سلام
      کار خاصی لازم نیست بکنین . فقط کدی ک تو پست هست رو بزارین هر جایی که دلتون می خواد . بعدش کد مربوط به تبلیغات تون رو بزارین بین اون

      1. ممنون از پاسختون
        من توی یک صفحه خالی این کار رو کردم و عملکرد اما وقتی توی صفحه اصلی سایتم این کد رو وارد کردم و تبلیغ رو بینش گذاشتم انجام نشد. تبلیغ بین کد center هست

  4. این هم روش خوبیه ولی باز چون منتظر ریسپانس یک سایت دیگه میشه باز هم میتونه سایت رو کند کنه. من خیلی وقت پیش یک الگریتم برای این کار نوشتم که پلاگین وردپرس اون هم تو سایت رسمی وردپرس اضافه کردم. ممنون میشم معرفی کنید. این برای خیلی ها میتونه مفید باشه:
    http://technopolis.ir/articles/wordpress/1156_%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%DA%A9-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C%D8%A7%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3.html

  5. دو سوال از خدمتتون داشتم

    اول اینکه این بخش کامنت سایت رو هم میشه آموزش بدید چه جوری میشه تو وردپرس اجرا کرد یا کد آمادش رو بزارید
    دوم اینکه مثلا ما یه سایت دو زبانه دایم می خواییم هر وقت با آی پی ایران بازش کردن برن تو بخش فارسی هر وقت با آی پی غیر ایران باز کردن برن تو بخش انگلیسی

    1. در مورد سوال اول می تونید از سایت disqus.com اقدام کنید. در اولین فرصت نحوه این کار رو هم عرض می کنیم گرچه فعلا کامل با فارسی سازگار نیست
      در مورد سوال دوم کافیه همین کدی که در بالا داده شد رو استفاده کنید .فقط ب جای کد های فیس بوک و … باید از تابع header در php استفاده کنید تا کاربر به آدرس مورد نظر منتقل بشه

    1. تو سمت چپ همین سایت خودمون ببینین استفاده کردیم و کارهم می کنه فعلا

      تو لینک بالاکه برید یه بخش هست باید آدرس صفحه و سایز و … رو مشخص کنید و آخرش دکمه get code رو اگه یادم باشه بزنید تا کد رو بهتون بده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *