تغییر Gravatar پیشفرض وردپرس به عکس دلخواه برای بخش نظرات
- مقالات آموزشی
- بروزرسانی شده در
اگه کنار بعضی دیدگاههای سایتتون یک تصویر خاکستری یا یکی از شکلهای همیشگی وردپرس دیده میشه، میتونید جاش لوگو یا عکس دلخواه خودتون رو بذارید. وردپرس چند آواتار آماده برای انتخاب داره، ولی برای اضافهکردن تصویر اختصاصی باید یک کد کوتاه به سایتتون اضافه کنید.
توی این آموزش، اول فرق Gravatar شخصی و آواتار پیشفرض سایت رو ساده توضیح میدیم. بعد تصویر دلخواهتون رو در رسانه وردپرس آپلود میکنیم و با نسخه رایگان افزونه Code Snippets کد لازم رو به سایت اضافه میکنیم. در آخر هم تصویر جدید رو از تنظیمات خود وردپرس انتخاب میکنیم. پس نیازی نیست فایلهای قالب رو مستقیم دستکاری کنید.
آنچه در این مقاله میخوانید
تفاوت آواتار پیشفرض با Gravatar شخصی چیه
Gravatar سرویسیه که یک تصویر رو به آدرس ایمیلتون وصل میکنه. وقتی با همون ایمیل در سایتی که از این سرویس پشتیبانی میکنه دیدگاه میذارید، تصویر Gravatar شما کنار دیدگاه دیده میشه.
آواتار پیشفرض با این تصویر فرق داره. طبق راهنمای رسمی وردپرس درباره Gravatar، این آواتار برای کسی نمایش داده میشه که ایمیلش تصویر Gravatar نداره. پس روشی که در ادامه یاد میگیرید، عکس شخصی کاربران رو تغییر نمیده و فقط جایگزین عمومی سایتتون رو عوض میکنه.
اگه میخواید تصویر شخصی خودتون رو تغییر بدید، باید وارد حساب Gravatar بشید و عکس متصل به ایمیلتون رو همونجا عوض کنید. ولی اگه هدفتون اینه که افراد بدون Gravatar بهجای تصویر ناشناس، لوگوی سایتتون رو ببینن، این آموزش دقیقاً همون چیزیه که نیاز دارید.
خود وردپرس چه قابلیتی برای آواتار داره
وردپرس بهصورت داخلی تنظیمات مربوط به آواتار رو در اختیارتون میذاره. از پیشخوان به مسیر «تنظیمات ← گفتوگو» برید و پایین صفحه دنبال بخش «نیمرخها» یا «آواتارها» بگردید. اینجا میتونید نمایش آواتار رو روشن کنید، بیشترین رتبه مجاز تصویرها رو مشخص کنید و یکی از گزینههای آماده رو بهعنوان آواتار پیشفرض بذارید.

امکانات داخلی وردپرس برای انتخاب «شخص اسرارآمیز»، تصویر خالی، نشان Gravatar و چند طرح تولیدشده کافیه. ولی توی این صفحه دکمهای برای آپلود آواتار اختصاصی نمیبینید. برای اضافهکردن تصویر خودمون از فیلتر avatar_defaults کمک میگیریم. فیلتر یعنی بخشی از وردپرس که اجازه میده خروجی پیشفرض رو با یک تکه کد تغییر بدیم.
مرحله اول: تصویر آواتار رو آماده و آپلود کنید
اول یک تصویر مربعی، واضح و کمحجم آماده کنید. اندازه ۲۵۰ در ۲۵۰ پیکسل اجباری نیست، چون هر قالب ممکنه آواتار رو با اندازه متفاوتی نشون بده. بهتره کیفیت تصویر برای صفحههای با وضوح بالا کافی باشه، ولی فایل رو هم بیدلیل سنگین نکنید.
حالا از پیشخوان وارد «رسانه ← افزودن پرونده رسانهای تازه» بشید و تصویر رو آپلود کنید. اگه هنگام آپلود به خطا خوردید، راهنمای حل مشکل آپلود نشدن تصویر در وردپرس میتونه کمکتون کنه.

بعد از آپلود، تصویر رو در کتابخانه رسانه باز کنید و مقدار «نشانی اینترنتی پرونده» رو کپی کنید. این آدرس باید با https:// شروع بشه. کمی جلوتر همین نشانی رو داخل کد قرار میدیم.
مرحله دوم: افزونه رایگان Code Snippets رو نصب کنید
برای اینکه کد با بهروزرسانی قالب از بین نره، از افزونه رایگان Code Snippets استفاده میکنیم. این افزونه در مخزن رسمی وردپرس منتشر شده و نسخه رایگانش برای اجرای کد PHP این آموزش کاملاً کافیه.
در پیشخوان به «افزونهها ← افزودن افزونه تازه» برید. عبارت Code Snippets رو جستوجو کنید، افزونهای با همین نام رو نصب کنید و بعد روی دکمه فعالسازی بزنید.

قبل از اضافهکردن هر کد PHP، بهتره یک نسخه پشتیبان تازه از سایتتون بگیرید. یک اشتباه کوچک در کد ممکنه خطای فنی بسازه، پس کد زیر رو دقیق و بدون کموزیادکردن نشانهها وارد کنید.
مرحله سوم: کد آواتار دلخواه رو اضافه کنید
بعد از فعالسازی افزونه، از منوی «کدهای کوتاه» یا «Snippets» صفحه افزودن کد تازه رو باز کنید. یک عنوان مثل «آواتار پیشفرض سایت» بنویسید و کد زیر رو در بخش کد بذارید. یادتون باشه در Code Snippets نباید عبارت <?php رو اول کد اضافه کنید.
add_filter( 'avatar_defaults', 'mihanwp_custom_default_avatar' );function mihanwp_custom_default_avatar( $avatar_defaults ) { $custom_avatar_url = 'https://example.com/wp-content/uploads/custom-avatar.webp'; $avatar_defaults[ $custom_avatar_url ] = 'آواتار اختصاصی سایت'; return $avatar_defaults;}آدرس نمونه https://example.com/wp-content/uploads/custom-avatar.webp رو کامل پاک کنید و بهجاش آدرس واقعی تصویری رو بذارید که از کتابخانه رسانه کپی کردید. عبارت «آواتار اختصاصی سایت» هم اسم گزینهایه که بعداً در تنظیمات وردپرس میبینید. اگه دوست دارید، میتونید این اسم رو تغییر بدید.
حالت اجرای کد رو روی اجرا در همهجا بذارید و گزینه ذخیره و فعالسازی رو بزنید. این کد با فیلتر رسمی avatar_defaults یک گزینه تازه به فهرست آواتارهای وردپرس اضافه میکنه. ساختار همین روش در مرجع توسعهدهندگان وردپرس هم ثبت شده.

مرحله چهارم: تصویر جدید رو بهعنوان آواتار پیشفرض انتخاب کنید
دوباره به «تنظیمات ← گفتوگو» برید و بخش آواتارها رو پیدا کنید. اول مطمئن بشید گزینه نمایش آواتارها روشنه. بعد در قسمت «آواتار پیشفرض»، گزینه «آواتار اختصاصی سایت» رو انتخاب کنید و پایین صفحه روی «ذخیره تغییرات» بزنید.
حالا برای آزمایش، یک دیدگاه با ایمیلی ثبت کنید که Gravatar نداره. باید تصویر دلخواهتون رو کنار اون دیدگاه ببینید. بهتره این آزمایش رو در پنجره ناشناس مرورگر انجام بدید تا کش حساب مدیر روی نتیجه اثر نذاره.
اگه تصویر جدید نمایش داده نشد چی کار کنید
- بررسی کنید آدرس تصویر با
https://شروع بشه. آدرس رو در مرورگر باز کنید و مطمئن بشید خود عکس نمایش داده میشه. - مطمئن بشید کد در Code Snippets هنوز فعاله و هیچ پیام خطای PHP نمیبینید.
- در «تنظیمات ← گفتوگو» نمایش آواتارها رو روشن کنید. بعد از انتخاب تصویر جدید هم حتماً تغییرات رو ذخیره کنید.
- کش افزونه، سرور و مرورگر رو پاک کنید. سرویسهای CDN هم ممکنه نسخه قدیمی تصویر رو برای مدتی نگه دارن.
- آزمایش رو با ایمیلی انجام بدید که Gravatar شخصی نداره، چون تصویر شخصی کاربر در اولویته و جای آواتار پیشفرض سایت رو میگیره.
چند نکته مهم قبل از تمامکردن کار
تصویر پیشفرض رو بعداً از کتابخانه رسانه پاک نکنید. اگه فایل حذف بشه یا آدرسش عوض بشه، آواتار هم دیگه بارگذاری نمیشه. بهتره اسم فایل ساده باشه و از همون اول نسخه نهایی لوگو یا تصویرتون رو آپلود کنید.
نمایش آواتارهای شخصی هنوز به سرویس بیرونی Gravatar وابستهست. اگه این سرویس یا درخواستهای بیرونی روی شبکه کاربر در دسترس نباشن، ممکنه بعضی تصویرها دیر نمایش داده بشن یا اصلاً دیده نشن. تصویر اختصاصی این آموزش روی هاست خودتون قرار میگیره، ولی وردپرس برای پیداکردن Gravatar کاربران همچنان با این سرویس ارتباط میگیره.
اگه بعداً Code Snippets رو غیرفعال کنید، گزینه اختصاصی از تنظیمات آواتار حذف میشه. خود تصویر آپلودشده پاک نمیشه، ولی تا وقتی کد رو دوباره فعال نکنید، وردپرس از اون بهعنوان آواتار پیشفرض استفاده نمیکنه.
سؤالهای رایج
این روش عکس Gravatar شخصی من رو هم تغییر میده؟
نه. این روش فقط تصویر پیشفرض سایت رو برای افرادی عوض میکنه که ایمیلشون Gravatar نداره. برای تغییر عکس شخصی باید تصویر متصل به ایمیلتون رو در سایت Gravatar عوض کنید.
نسخه رایگان Code Snippets برای این آموزش کافیه؟
بله. این آموزش فقط به اجرای یک کد کوتاه PHP نیاز داره و نسخه رایگان افزونه این کار رو انجام میده.
میشه بدون افزونه آواتار پیشفرض رو تغییر داد؟
وردپرس بدون افزونه اجازه انتخاب تصویرهای آماده رو میده، ولی برای اضافهکردن تصویر اختصاصی باید از فیلتر avatar_defaults استفاده کنید. میتونید کد رو در قالب فرزند یا یک افزونه اختصاصی بذارید، ولی Code Snippets برای کاربران تازهکار مدیریت سادهتر و امنتری داره.
تصویر آواتار حتماً باید ۲۵۰ در ۲۵۰ پیکسل باشه؟
نه. وردپرس چنین اندازه ثابتی رو اجباری نکرده. بهتره یک تصویر مربعی، واضح و کمحجم انتخاب کنید تا وقتی قالب اون رو در اندازههای مختلف نشون میده، همچنان ظاهر خوبی داشته باشه.
جمعبندی
خود وردپرس چند آواتار آماده داره، ولی برای اضافهکردن لوگو یا تصویر دلخواه باید با فیلتر avatar_defaults یک گزینه تازه بسازید. افزونه رایگان Code Snippets کمک میکنه این کار رو بدون دستکاری مستقیم فایل functions.php انجام بدید. بعد از فعالکردن کد هم کافیه تصویر جدید رو از تنظیمات گفتوگو انتخاب کنید.

سلام من موفق شدم
با تشکر
ولی این کد فقط با سرویس های تغییر آی پی کار میکنه !!!! 😐
فیلتر شکن بسته باشه عکسی نمایش داده نمیشه !
درود.
فقط برای ثبت نام در سایت وردپرس اصلی نیاز به سرویس های تغییر آی پی هست.
شما یبار این کاری که خودتون گفتین رو انجام بدین ببین تصویر میاد یا خیر
همین آموزش رو یک بار تست کنید
ببینید چه نتیجه ای میگیرین
حتی تو این تصویر که خودتون قرار دادین هم عکس نشون داده نشده که این مورد فقط با تغییر ip درست میشه !
https://mihanwp.com/wp-content/uploads/2017/07/default-gravatar.png
ممنون
درود.
تا همین 1 هفته پیش، بر روی وب سایت خود میهن وردپرس از سرویس Gravatar استفاده می شد.
این تصویر هم که گذاشته شده، نشون ندادن اون تصویر دال بر کار نکردن و مشکل دار بودن آموزش داده شده نیست.
شما وقتی آواتار را از سمت وب سایت اصلی تعویض می کنید و همان ایمیل را بر روی شناسه کاربری خود در وردپرس استفاده کنید، بعد ازگذشت مدت زمانی، آواتار به نمایش درخواهد آمد.
موفق باشید.