حذف فایلهای جاوااسکریپت غیرضروری افزونهها (Remove Plugin JavaScript)
با تابع `wp_dequeue_script` در اکشن `wp_enqueue_scripts` با اولویت ۱۰۰، فایلهای JS افزونه را در صفحات مشخص خنثی کنید.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<?php
/**
* لغو بارگذاری اسکریپتهای جاوااسکریپت فرم تماس در صفحات بدون فرم
*/
function bisco_remove_unneeded_plugin_js() {
// اگر صفحه دارای فرم تماس نیست، اسکریپت آن لغو شود
if ( ! is_page( 'contact' ) ) {
wp_dequeue_script( 'contact-form-7' );
}
// لغو اسکریپتهای ووکامرس در وبلاگ
if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
wp_dequeue_script( 'wc-add-to-cart' );
}
}
add_action( 'wp_enqueue_scripts', 'bisco_remove_unneeded_plugin_js', 100 );
کد را کجا قرار دهیم؟ (Placement Guide)
کد را در functions.php قرار داده و شروط صفحه و هندلهای مورد نظر را شخصیسازی کنید.
این کد چگونه کار میکند؟ (How it Works)
تابع با اولویت ۱۰۰ بعد از تمام افزونهها اجرا میشود و هندلهای مشخص شده را از صف اجرایی مرورگر حذف مینماید.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
جهت کاهش شاخص INP و TBT در گزارشهای Core Web Vitals گوگل.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
در صفحات حاوی فرمها، درگاهها یا امکاناتی که به آن فایل JS نیاز دارند.
پیشنیازهای اجرا
شناسایی هندل اسکریپت با بررسی تگ `<script id="handle-js">`.
نحوه تست و اطمینان از عملکرد
صفحه اصلی را باز کنید و مطمئن شوید اسکریپتهای مربوطه در تب Network مرورگر دانلود نمیشوند.
نحوه بازگردانی سریع (Rollback)
کد را از functions.php پاک کنید.
خطاهای رایج و راهحل رفع
خارج کردن اشتباهی اسکریپتهای اصلی قالب یا کتابخانه جیکوئری که میتواند سبب بروز باگ در منوی ریسپانسیو شود.
ملاحظات و نکات امنیتی
فاقد ریسک امنیتی.
تاثیر بر سرعت و پرفورمنس
کاهش حجم JS دریافتی تا صدها کیلوبایت و بهبود چشمگیر سرعت پاسخگویی دکمهها.