کاری که قراره انجام بدیم استفاده از آواتارهای تصادفی و سفارشی در قالب هست به این معنا که به کاربرانی که گراواتار ندارند و تصویر  خود را در gravatar.com ثبت نکرده اند به هنگام ثبت دیدگاه ، آواتارهای مدنظر و سفارشی شده خودمان را به طور تصادفی نسبت بدیم. با این کار یکی از تصاویر، بر اساس ایمیلی که کاربر در هنگام نظردهی میدهد از دایرکتوری تصاویر انتخاب شده و آواتار فرد میشود.
این کد فقط با آواتارهای پیش فرض جایگزین میشه و با تصاویری که افراد در gravatar.com ثبت کردن کاری نداره.
کد زیر رو در functions.php قالبی که از اون استفاده میکنید کپی کنید. توجه داشته باشید که هربار که آپدیت جدیدی برای قالب بیاد و قالب رو به روز کنید، باید مجددا این کدهارو اضافه کنید.

گراواتارهای تصادفی در وردپرس

    function frumph_random_default_avatar_callback( $id_or_email = ” ) {
        if (!empty($id_or_email)) {
            $count = count($results = glob(get_stylesheet_directory() . ‘/images/avatars/*’));
            if ($count) {
                $checknum = hexdec(substr(md5($id_or_email),0,5)) % $count;
                if ($count > 0) {
                    $custom_avatar = basename($results[(int)$checknum]);
                    $replace_src_avatar = get_stylesheet_directory_uri().’/images/avatars/’.$custom_avatar;
                    return $replace_src_avatar;
                }
            } else
                return get_option(‘avatar_default’);
        } else
            return get_option(‘avatar_default’);
    }

حالا باید تنظیمات فراخوان get_avatar در قالب رد انجام بدید (اگر وجود داشته باشه).
کاری که باید انجام بدید اینه که تابع get_avatar رو در قالبی که استفاده میکنید سرچ کنید ، برای مثال قالب thematic در مسیر library/extensions فایلی با نام comments-extensions داره و تابع get_avatar در اون به شکل زیر هست:

 $avatar = str_replace( “class=’avatar”, “class=’photo avatar”, get_avatar( $avatar_email, $avatar_size ) );

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

 $avatar = str_replace( “class=’avatar”, “class=’photo avatar”, get_avatar( $avatar_email, $avatar_size, frumph_random_default_avatar_callback($avatar_email) ) );

در قالب twentytwelve ، هم این تابع در فایلهای  content*.php وجود داره و چیزی شبیه به کدهای زیر است:

<?php echo get_avatar( get_the_author_meta( ‘user_email’ ), apply_filters( ‘twentytwelve_author_bio_avatar_size’, 68 ) ); ?>

سومین آرگومان رو که تصاویر پیش فرض رو عوض میکنه به شکل زیر اضافه میکنیم:

  <?php echo get_avatar( get_the_author_meta( ‘user_email’ ), apply_filters( ‘twentytwelve_author_bio_avatar_size’, 68 ), frumph_random_default_avatar_callback(get_the_author_meta(‘user_email’)) ); ?>

حالا
تصاویر مورد نظر خودتون رو به قالب images/avatars/directory خودتون اضافه کنید. بنابراین تصاویر در مسیر wp-content/themes/mychildtheme/images/avatars/directory قرار میگیرند.

توجه : استفاده از کدهای بالا ، ملزم به داشتن آشنایی با زبان php است!

لیلا زاهدیAuthor posts

Avatar for لیلا زاهدی

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

1 دیدگاه

  • salam Be nazaram In matlabi ke gozashti Baiad Ye taghirati bedi chon alexa alan Taghir karde va ini ke to gozashti ghadimi shode :X Rahe Jadido Bego Mam sabt konim ::))

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

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