رفتن به مطلب

مهدی

عضو افتخاری
  • تعداد ارسال‌ها

    1464
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    40

نوشته‌ها ارسال شده توسط مهدی

  1. وردپرس پیش‌فرض jquery رو اول از همه لود می‌کنه

    اگر هم بخواید این فایل رو به فوتر ببرید احتمالا قالب مشکل پیدا می‌کنه

    در مورد css هم خیلی مهم نیست چون حجم فایل‌ها خیلی زیاد نیستند که مشکلی برای سرعت لود ایجاد کنند

     

    • امتیاز 2
  2. سلام

    منظور از بلاک، اون بلاکی که شما فکر میکنید نیست

    منظور از بلاک جلوگیری از لود کامل html هست

    یعنی مرورگر به طور پیش‌فرض وقتی به فایل‌های css و js میرسه اول کامل اونها رو لود می‌کنه بعد میره سراغ باقی محتوای html

    برای برطرف شدن مشکل می‌تونید فایل‌ها js که در هدر هست به فوتر اضافه کنید و فایل‌ها css رو هم یکی کنید 

    برای این کار می‌تونید از افزونه زیر استفاده کنید

    https://wordpress.org/plugins/autoptimize/

    پیشنهاد خود گوگل این هست که شما بیاید برای فایل‌ها js از روش لود غیریکسان استفاده کنید

    یعنی در کنار لود html فایل‌ها js هم به طور همزمان لود بشن، البته این کار در کنار مزایایی که داره می‌تونه باعث مشکل هم بشه

    برای این کار می‌تونید تگ async رو به صورت زیر به کدهای js تون اضافه کنید

    <script async src="my.js">

    برای اینکه بتونید این تگ رو به همه فایل‌ها js در قالب اضافه کنید، می‌تونید از روش زیر استفاده کنید

    /* Add async Attributes to Enqueue Scripts where Needed.
    =========================================================================== */
    function itl_script_tag_async( $tag, $handle ) {
        if ( is_admin() ) {
            return $tag;
        }
    
        if ( strpos( $tag, '/wp-includes/js/jquery/jquery' ) ) {
            return $tag;
        }
    
        return str_replace( ' src', ' async src', $tag );
    }
    add_filter( 'script_loader_tag', 'itl_script_tag_async', 10, 2 );

    در کنار تگ async یه تگ دیگه هم وجود داره به نام defer

    تفاوت‌شون رو می‌تونید در تصاویز زیر ببینید

    وقتی از تگ async استفاده بشه: در این حالت فایل js همزمان با html از سمت سرور در حال دریافت هستند، بعد از تمام شدن دانلود js، دریافت html متوقف میشه و js اجرا میشه و در ادامه دوباره html دریافت میشهscript-async.png.5be5ddad00f077d98086a5bdbc958f1a.png

    وقتی از تگ defer استفاده بشه: در این حالت فایل js همزمان با html فراخوانی میشه اما وقتی html کاملا دریافت شد js اجرا میشه

    script-defer.png.9d718a715dcbcc76aae6d9932560a640.png

    افزونه زیر تقریبا این موارد رو براتون انجام میده

    https://wordpress.org/plugins/async-javascript/

    نسخه پولی‌ش هم با افزونه autoptimize هماهنگ هست

     

    منابع: 

    https://developers.google.com/speed/docs/insights/BlockingJS
    http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html
    http://scottnelle.com/756/async-defer-enqueued-wordpress-scripts/

     

    • امتیاز 3
  3. سلام

    کلا برای این نوع از تغییرها که احتمال از دست رفتن لینک‌ها در گوگل وجود داره، یه راه حل ساده هست

    به مدت تقریبا ۱ ماه ساختار پیوندهای یکتا رو بر روی حالت پیش‌فرض تغییر بدید

    بعد از مدت گفته شده می‌تونید بدون هیچ نگرانی ساختار پیوند یکتا رو هر طور خواستید تغییر بدید

    در مورد مدت، شما می‌تونید با بررسی لینک‌های سایت‌تون در گوگل متوجه بشید که آیا آدرس صفحات در اینکس گوگل تغییر کرده یا نه

  4. سلام

    از کد get_theme_mod برای فراخوانی اطلاعاتی که از طریق سفارشی‌سازی وردپرس ثبت شده، استفاده میشه

    <?php get_theme_mod( $name, $default ); ?>

    اطلاعات بیشتر

    در نمونه شما، پیش‌فرض اسلایدر روی عدم نمایش تنظیم شده

    در شرط گفته شده اگر اسلایدر در قسمت سفارشی‌سازی رو حالت «نمایش» تعیین شده بود و اگر در صفحه اصلی (is_front_page یعنی یه برگه به عنوان صفحه اصلی تنظیم شده باشه) نبود، شرط اجرا بشه

    • امتیاز 2
×
×
  • اضافه کردن...