غیرفعال کردن شرطی CSS و JS افزونه Contact Form 7
بسیاری از افزونههای وردپرس به صورت کنترل نشده، فایلهای جانبی زیادی به قالب سایت وردپرس شمااضافه میکنند که در بسیاری موارد استفادهای از آن نمیشود ولی باعث افزایش حجم صفحات و کاهش سرعت بارگزاری سایت میشوند.
یکی از این افزونهها Contact Form 7 است که برای ساخت فرم تماس با ما کاربرد دارد. با توجه به اینکه فرم تماس با ما معمولا در یک صفحه از سایت درج میشود، درج کدهای CSS و JS این افزونه در تمام صفحات سایت، باعث اتلاف چشمگیر منابع میشود.
برای جلوگیری از این عملکرد و بارگزاری فایلهای لازم تنها در صفحهای که فرم در آن وجود دارد از کدهای زیر استفاده کنید. این کدها را در فایل functions.php قالب خود درج نمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
add_filter( 'wpcf7_load_js', '__return_false' ); add_filter( 'wpcf7_load_css', '__return_false' ); add_filter( 'pre_do_shortcode_tag', 'roka_add_cf7_depends', 4, 10 ); function roka_add_cf7_depends( $b, $tag, $attr, $m ) { static $loaded = false; if( $loaded == false && $tag === 'contact-form-7' && function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); wpcf7_enqueue_styles(); $loaded = true; } return false; } |
به دلیل اینکه استفاده از این روش باعث میشود کدهای CSS و JS در بخش پایین سایت بارگزاری شوند، ممکن است اشکالهایی در شکل نمایش فرم در تداخل با فایلهای CSS قالب به وجود بیاید. به همین دلیل پس از درج کدها بررسی کنید که آیا فرم به شکل قبلی نمایش داده میشود یا خیر و اگر مشکلی مشاهده شد، این کدها را از قالب حذف نمایید و به حالت قبل برگردانید.