PHP کد تصویر پیشفرض کاربران به جای گراواتار

  • نویسنده موضوع sir1
  • تاریخ شروع

sir1

کاربر عضو
با سلام. ما میخاهیم برای افزایش سرعت سایت به جای گراواتار یک عکس پیشفرض نمایش بدیم و اگر کاربر گراواتار داشت گراواتارش را نشان دهد.
در ابزارک اخرین کاربران ویژه، کد زیر برای آواتار کاربران تنظیم شده است:
کد:
      <ul>
                <?php

                foreach ($orders as $order) {

                ?>
                    <li class="gc-display-block">
                        <img class="gc-item1 gc-width-40  gc-padding-rl-5" src="<?php echo get_avatar_url($order['id']); ?>" alt="آواتار کاربران">
                        <span class="gc-item2 gc-padding-10  "><?php echo $order['display_name'] ?></span>
                    </li>
                    
                <?php
                }

                ?>
                
            </ul>

لینک زیر هم پیدا کردم که راهنمایی کرده ولی چون کد نویسی بلد نیستم نمیتونم ویرایش کنم
 

linuxmint

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

sir1

کاربر عضو
سلام
با تغییر این کد چیزی تغییر نمیکنه و بازم مشکل سرعت رو خواهید داشت. چون در هر صورت باید حداقل یک ریکوئست به گراواتار بزنید که میشه همون آشو همون کاسه و تو بارگذاری تغییری ایجاد نمیشه.
مگر اینکه سیستم گراواتار رو کنار بذارید و آواتار کاربراتون رو روی سایت خودتون آپلود کنید. برای این کار هم افزونه های مختلفی در وجود داره.
در لینکی که پست اول پیوست کردم کد مربوطه گفته شده.
خب وقتی باید درخواست به گراواتار بفرسته که کاربر گراواتار داشته باشه و در حالت پیشفرش فقط یک عکس ثابت نشون بده که از هاست خودم لود بشه. اینطوری سرعت سایت بالا میره.
 

linuxmint

کاربر عضو
وقتی باید درخواست به گراواتار بفرسته که کاربر گراواتار داشته باشه

برای اینکه بررسی بشه کاربر گراواتار داره یا نه، باید به گراواتار ریکوئست زد. یعنی راهی نیست که شما بدون ریکوئست زدن به گراواتار متوجه بشین کاربر گراواتار داره یا نه.

لینکی که گذاشتین هم همین رو میگه. تو راه حلی که اکسپت شده اومده از گراواتار چک کرده که کاربر گراواتار داره یا نه که اگه نداشت تصویر پیشفرض رو نمایش بده. پس باز به گراواتار ریکوئست زده. منظور بنده همینه

اما اگر از سرعت بارگذاری صرف نظر کنیم، برای اینکه تصویری به عنوان تصویر پیشفرض تعریف بکنید تابع get_avatar_url آرگومانی برای تصویر پیشفرض میگیره که به شکل زیر می تونید کدتون رو تغییر بدید.

کد:
<ul>

        <?php

        foreach ($orders as $order) {

        ?>

            <li class="gc-display-block">

                <img class="gc-item1 gc-width-40  gc-padding-rl-5" src="<?php echo get_avatar_url($order['id'], $args = array('default' => 'آدرس تصویر پیشفرض')); ?>" alt="آواتار کاربران">

                <span class="gc-item2 gc-padding-10  "><?php echo $order['display_name'] ?></span>

            </li>

        <?php

        }

        ?>

</ul>

در کد بالا به جای عبارت "آدرس تصویر پیشفرض" آدرس تصویر پیشفرض مورد نظرتون رو وارد کنید.
 
بالا