غیرفعال کردن کامل Gravatar در وردپرس
در وردپرس به صورت پیشفرض، برای نمایش تصویر کاربران در بخشهایی مانند قابلیت برای بسیاری از سایتها مفید است، اما در برخی از پروژهها، مدیران سایت ترجیح میدهند هیچ درخواست خارجی از سایتشان ارسال نشود. دلایلی مانند افزایش سرعت سایت، افزایش حریم خصوصی کاربران یا رعایت برخی قوانین داده، میتواند باعث شود بخواهید Gravatar را به صورت کامل غیرفعال کنید. خوشبختانه در وردپرس میتوان با چند خط کد ساده جلوی هر نوع ریکوئست به Gravatar را گرفت.
حذف درخواستهای Gravatar در وردپرس
اگر فقط گزینه نمایش آواتار را از تنظیمات وردپرس غیرفعال کنید، در اغلب مواقع درخواست به Gravatar قطع میشود؛ اما گاهی قالب یا برخی افزونهها همچنان تلاش میکنند تا آواتار کاربران را از این سرویس دریافت کنند. برای جلوگیری کامل از این موضوع، میتوان از فیلترهای داخلی وردپرس به کار برد.
کد زیر باعث میشود وردپرس هیچ URL برای سرور Gravatar تولید نکند و در نتیجه هیچ درخواستی به سرور gravatar ارسال نشود. تنها کافیست این کد را در فایل functions.php قالب فعال خود یا در یک افزونه اختصاصی بگذارید.
add_filter('get_avatar', function($avatar, $id_or_email, $size, $default, $alt) {
return '';
}, 10, 5);
add_filter('pre_get_avatar_data', function($args) {
$args['url'] = '';
return $args;
});
در کد بالا، از دو فیلتر وردپرس استفاده شده است. فیلتر get_avatar وقتی اجرا میشود که وردپرس قصد نمایش آواتار کاربر را دارد و با برگرداندن مقدار خالی، نمایش آواتار متوقف میشود. فیلتر pre_get_avatar_data هم قبل از ساخته شدن اطلاعات آواتار اجرا شده و با خالی کردن آدرس تصویر، مانع ایجاد لینک Gravatar میشود.
با اضافه کردن کد فوق، حتی اگر قالب یا افزونهای سعی کند تا آواتار کاربران را از سرور Gravatar دریافت کند، هیچ درخواستی به سرورهای این سرویس ارسال نخواهد شد.
اگر سوالات بیشتری در ارتباط با این مشکل داشت، حتما در بخش نظرات این نوشته برای ما بنویسید.


















ممنون بابت آموزش
موفق باشین
اگر بخوایم به جای Gravatar یه آواتار پیشفرض داخلی از خود سایت نشون بدیم، بازم باید همین فیلترها رو استفاده کنیم؟
بله، میتونی از همین فیلترها استفاده کنی و به جای خالی برگردوندن، مسیر آواتار پیشفرض خودت رو ست کنی. اینجوری هم درخواست خارجی قطع میشه هم ظاهر سایت کامل میمونه.
مقاله کوتاه بود ولی خیلی کاربردی. مخصوصا برای سایتایی که روی حریم خصوصی کاربر حساسن، این نکته خیلی مهمه.
بله در دنیای فعلی حریم خصوصی کاربر از مهمترین نکات هستش که باید رعایت بشه
این کد فقط نمایش آواتار رو قطع میکنه یا واقعا جلوی درخواست خارجی به سرور Gravatar رو هم میگیره؟
این کد دقیقا برای اینه که درخواست خارجی هم ارسال نشه. یعنی هم نمایش آواتار متوقف میشه، هم لینک مربوط به Gravatar عملا ساخته نمیشه.
خیلی به دردم خورد
موفق باشین