حذف فایلهای CSS غیرضروری افزونهها در صفحات خاص (Remove Plugin CSS)
با استفاده از تابع `wp_dequeue_style` و `wp_deregister_style` با اولویت بالا (مثلاً ۹۹) در هوک `wp_enqueue_scripts`، فایل استایل افزونه را در صفحات مشخص لغو کنید.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<?php
/**
* حذف استایلهای اضافی افزونه فرم تماس ۷ در صفحاتی به جز برگه تماس
*/
function bisco_remove_unneeded_plugin_css() {
// اگر در برگه تماس یا لندینگ فرم نیستیم، استایل را حذف کن
if ( ! is_page( array( 'contact', 'request-quote' ) ) ) {
wp_dequeue_style( 'contact-form-7' );
}
// حذف استایل افزونه wp-block-library در صورت عدم استفاده از گوتنبرگ در فرانت
if ( ! is_singular( 'post' ) ) {
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
}
}
add_action( 'wp_enqueue_scripts', 'bisco_remove_unneeded_plugin_css', 99 );
کد را کجا قرار دهیم؟ (Placement Guide)
کد را در functions.php قرار دهید و هندل استایل افزونهها و اسلاگ برگهها را با سایت خود مطابقت دهید.
این کد چگونه کار میکند؟ (How it Works)
اولویت 99 باعث میشود این تابع پس از ثبت شدن تمام استایلهای افزونهها اجرا شده و با dequeue کردن، فایل را از صف خروجی حذف کند.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
برای سبکسازی صفحات اصلی، صفحات فرود کمپینها و لندینگهای تبلیغاتی.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
در صفحاتی که المان مربوط به آن افزونه حضور دارد، زیرا ظاهر آن کاملاً بیقواره خواهد شد.
پیشنیازهای اجرا
شناسایی هندل (Handle) استایل افزونه در کدهای سایت.
نحوه تست و اطمینان از عملکرد
در سورس صفحه اصلی نام فایل استایل (مثلاً styles.css فرم ۷) را جستجو کنید؛ نباید وجود داشته باشد ولی در برگه contact باید لود شود.
نحوه بازگردانی سریع (Rollback)
کد را از functions.php حذف کنید.
خطاهای رایج و راهحل رفع
اجرای تابع بدون اولویت بالا (priority 99) که باعث میشود قبل از ثبت افزونه اجرا شده و بیاثر باشد.
ملاحظات و نکات امنیتی
هیچ ریسک امنیتی ندارد.
تاثیر بر سرعت و پرفورمنس
کاهش مستقیم تعداد درخواستهای HTTP و حذف هشدارهای Reduce Unused CSS در پیجاسپید.