افزایش سرعت و پرفورمنس Conditional Enqueue Hook پلتفرم: wordpress متوسط (Medium) سطح ریسک: پایین و بی‌خطر (Low Risk)

بارگذاری شرطی فایل‌های جاوااسکریپت در وردپرس (Conditional JavaScript)

تست‌شده و بازبینی‌شده در 1405/06/29 ۶۷۷ بار کپی ۷۸۰ مشاهده
پاسخ سریع و خلاصه کاربردی (Quick Answer)

با تابع `wp_enqueue_script` درون شرط‌هایی مانند `is_front_page()` یا شناسه برگه، فایل‌های JS را تنها در صفحه هدف لود کنید.

مشخصات فنی و شناسنامه کد (Code Information)

بازبینی: 1405/06/29
پلتفرم اجرایی (Platform) wordpress
نوع کد (Code Type) Conditional Enqueue Hook
محل قرارگیری فایل (Location) functions.php
سطح دشواری (Difficulty) متوسط (Medium)
سطح ریسک (Risk Level) پایین و بی‌خطر (Low Risk)
نیاز به بکاپ اولیه؟ خیر (کم‌ریسک)
سازگاری با وردپرس تمامی نسخه‌ها
سازگاری با ووکامرس و HPOS سازگار
|
<?php
/**
 * بارگذاری شرطی اسکریپت‌های جاوااسکریپت در صفحات نیازمند
 */
function bisco_conditional_enqueue_scripts() {
    // بارگذاری کتابخانه اسلایدر فقط در صفحه نخست
    if ( is_front_page() ) {
        wp_enqueue_script(
            'bisco-home-slider',
            get_stylesheet_directory_uri() . '/assets/js/slider.js',
            array(),
            '1.0.0',
            true // بارگذاری در فوتر
        );
    }

    // بارگذاری فایل نقشه‌های تعاملی فقط در برگه نمایندگی‌ها
    if ( is_page( 'branches' ) ) {
        wp_enqueue_script(
            'bisco-map-script',
            get_stylesheet_directory_uri() . '/assets/js/leaflet-map.js',
            array(),
            '1.0.0',
            true
        );
    }
}
add_action( 'wp_enqueue_scripts', 'bisco_conditional_enqueue_scripts' );

کد را کجا قرار دهیم؟ (Placement Guide)

کد را در functions.php قرار داده و پارامتر آخر true را برای بارگذاری در فوتر حفظ کنید.

مسیر فایل: functions.php

این کد چگونه کار می‌کند؟ (How it Works)

هوک wp_enqueue_scripts در زمان تعیین توکن صفحه اجرا شده و فقط در صورت برقراری شرط، اسکریپت را به بخش پایین بدنه (Footer) می‌فرستد.

چه زمانی از این کد استفاده کنیم؟ (Use Cases)

برای کتابخانه‌های سنگین JS نظیر Swiper, Chart.js, Leaflet و اسکریپت‌های انیمیشن GSAP.

چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)

برای فریم‌ورک‌های پایه‌ای که منطق ناوبری منوی موبایل یا تم را در تمام صفحات کنترل می‌کنند.

پیش‌نیازهای اجرا

وردپرس ۳.۰ به بالا.

نحوه تست و اطمینان از عملکرد

کنسول مرورگر را در صفحات مختلف بررسی کنید؛ اسلایدر فقط در صفحه اصلی لود می‌شود و در بلاگ هیچ اثری از آن نیست.

نحوه بازگردانی سریع (Rollback)

کد را حذف یا شرط‌ها را ویرایش کنید.

خطاهای رایج و راه‌حل رفع

لود کردن اسکریپت در هدر به جای فوتر (همیشه آرگومان آخر wp_enqueue_script را true قرار دهید).

ملاحظات و نکات امنیتی

اطمینان از بارگذاری کدهای معتبر و ممانعت از لود اسکریپت‌های ناخواسته.

تاثیر بر سرعت و پرفورمنس

کاهش شدید زمان اجرای Main Thread و بهینه‌سازی شاخص تعاملی INP (Interaction to Next Paint).

پرسش‌های متداول پیرامون این کد (FAQ)

قرار دادن مقدار true باعث می‌شود اسکریپت در انتهای برچسب body لود شود و مانع رندر شدن سریع محتوای صفحه نشود.
منابع و مستندات رسمی بررسی‌شده (Official Sources):

سبد خرید شما

0 افزونه

سبد خرید شما خالی است

هنوز محصولی را به سبد خرید اضافه نکرده‌اید. می‌توانید از افزونه‌های اختصاصی ما دیدن فرمایید.

مشاهده فروشگاه افزونه‌ها

ثبت درخواست مشاوره

با تکمیل فرم زیر، کارشناسان فنی بیسکو وب در سریع‌ترین زمان ممکن با شما تماس می‌گیرند.

مشاور
پشتیبانی و مشاوره تخصصی
پاسخگویی سریع کارشناسان
09903336117