ترمز فرم تماس را بکشید!

افزونه‌ی Contact Form 7 کار اکثر وردپرسی‌ها رو برای ساخت فرم تماس آسون کرده و انصافا پلاگین بی‌دردسری هم هست. اما مشکل کوچکی هم داره و اونم لود شدن فایلهای js و css افزونه تو همه‌ی صفحات سایت هست. چند خط کد ساده میتونه بارگزاری این فایلها رو به صفحه‌ی مخصوص فرم محدود کنه و در نتیجه کمی سرعت لود سایت رو بالا ببره.

قدم اول متوقف کردن بارگزاری فایلهای مورد نظر هست. برای اینکار فایل wp-config.php رو باز کنین و این کدها رو بهش اضافه کنین:

define ('WPCF7_LOAD_JS', false); // Added to disable JS loading
define ('WPCF7_LOAD_CSS', false); // Added to disable CSS loading

قدم دوم و آخر اضافه کردن کدی هست که فایلها رو تو برگه‌ی تماس فراخوانی میکنه:

<?php
	if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
		wpcf7_enqueue_scripts();
		wpcf7_enqueue_styles();
	}
?>

اگر برای برگه‌ی تماس قالب خاصی در نظر نگرفتین کد رو به فایل page.php درست خط اول اضافه کنین. شبیه این:

<?php
	if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
		wpcf7_enqueue_scripts();
		wpcf7_enqueue_styles();
	}
?>
<?php get_header(); ?>

وگرنه کد رو تو پوسته‌ی دلخواهتون به این صورت قرار بدین:

<?php

/*

Template Name:contact

*/

?>
<?php
	if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
		wpcf7_enqueue_scripts();
		wpcf7_enqueue_styles();
	}
?>
هاستینگ وردپرس ماندگاروب
۵۴ دیدگاه
  1. مسعود

    سلام و سپاس بابت این مطلب ولی این راه برای استایل RTL افزونه جواب نمیده و بازم لود میشه برای این که استایل های راستچی از بین بره باید چه کار کنیم؟

    با تشکر

    پاسخ دادن
  2. شروین

    با سلام
    می خواستم بدونم تو قسمتی که ایمیل دوم هستش که برای کاربر فرستاده میشه چطوری میشه یه لوگو قرار داد که مثلا” تایید ایمیلش با لوگویی که می خواهیم واسه ی کاربر ارسال بشه
    با تشکر

    پاسخ دادن
  3. رامین

    آقا محسن سلام. خسته نباشید
    در مورد این مطلب، چند سئوال واسم پیش اومد
    شما گفتید که کدهای زیر در wp-config.php قرار بدم. این کدها رو کجای wp-config قرار بدم؟ (خط اول؛ وسط یا آخرین خط)؟
    define (‘WPCF7_LOAD_JS’, false); // Added to disable JS loading
    define (‘WPCF7_LOAD_CSS’, false); // Added to disable CSS loading
    —————————————————————————-
    سئوال دوم در مورد کد بعدیه. آیا کد زیر رو باید در function قرار بدم؟

    —————————————————————————-
    سئوال آخرم هم اینه که بنده از قالب خاصی برای فرم تماس استفاده نمی کنم. حالا کد زیر در کجا باید قرار بدم؟

    پاسخ دادن
    • محسن غیاثی

      سلام رامین جان. جاش خیلی مهم نیست مثلا بذارینش بعد از کد مربوط به زبان. کد دوم رو هم به page.php اضافه کنین.

      پاسخ دادن
  4. ایوب

    سلام؛
    ایمیل هایی که از این افزونه ارسال میشن میرن تو پوشه اسپم! چرا؟

    پاسخ دادن
  5. عادل

    سلام
    مبتکرانه بود.
    مرسی

    پاسخ دادن
  6. محمد حسین

    عالی بود یک دنیا مرسی (Y)

    پاسخ دادن
  7. Akbar

    بابت مطالب ممنون

    پاسخ دادن
  8. محسن شایان

    آخیییش راحت شدم خدا خیرت بده 😉

    پاسخ دادن
  9. یاسر

    آقا محسن یه سوال داشتم.
    سایت gtmetrix بهم ثابت کرد که این افزونه فرم تماس ۷ کلا چیز خوبی نیست! تو هر پارامتر زده خراب کاری کرده (O)
    می خواستم بپرسم جایگزینی واسه این افزونه می شناسید؟ یادمه اون موقع ها که تو wp.com بودم یه دکمه تو ویرایشگر نوشته داشت که امکان می داد یه فرم ساده به برگه یا نوشته اضافه کنیم؛ یه چیزی تو این مایه ها 😉
    Fast Secure Contact Form جالب نیست من فقط یه فرم تماس ساده میخوام….
    ممنون می شم راهنمایی کنید (F)

    پاسخ دادن
    • محسن غیاثی

      البته خراب‌کاری اصلی این افزونه همون لود شدن استایل و اسکریپتش تو همه صفحاته که با این آموزش حل میشه اما منم چندتا افزونه تا حالا تست کردم اما یا کامل نبود یا اینکه بیش از حد حرفه‌ای بودن. پلاگینهایی که تو مخرن وردپرس هست رو تست کنین شاید یکیشون مناسبتون بود منم اگه چیز ساده‌ای گیرم بیاد حتما میذارم که دوستانم استفاده کنن. در ضمن یه لینک از تست gtmetrix بهم بدین چک کنم.

      پاسخ دادن
      • یاسر

        ممنون از اینکه وقت می زارید و جواب می دین
        باید وارد مخزن بشیم 😀
        منم می گردم اگه به نتیجه رسیدم خبرتون می کنم
        اینم لینک آخرین بررسی http://gtmetrix.com/reports/tickblog.ir/PO61kgBX
        چند تا افزونه خرابکاری کردن که یکیشون فرم تماسه
        باز هم ممنون (F)

        پاسخ دادن
      • یاسر

        بعد از جاسازی این کدها تو پوسته واقعا ترمز این فرم تماس کشیده شد.
        اما تو مخزن که می گشتم افزونه Grunion Contact Form رو پیدا کردم که نویسندش خوده اتوماتیکه .ازش خوشم اومد خواستم نظر شمارو راجع بهش بدونم
        البته اگه وقت داشته باشید
        ممنون (F)

        پاسخ دادن
  10. پونه

    سلام تشکر می کنم اگه ممکنه افزونه تماس با ما اصلاح شده .همینکه می فرمایین ترمزش را بکشید را برای دانلود بزارید چون همه ما کد نویس که نیستیم . تشکر می کنم

    پاسخ دادن
    • محسن غیاثی

      سلام دوست عزیز. تغییری در فایلهای افزونه بوجود نمیاد و فقط با گذاشتن این کدها مکان لود شدن استایل و اسکریپت مخصوص فرم تماس کنترل میشه. اگر موفق به انجامش نشدین میتونین با ایمیل در تماس باشین براتون کدها رو تنظیم کنم.

      پاسخ دادن
  11. واحد

    سلام.

    واقعا جالب بود خیلی خوب بود.استفاده کردیم. (L)

    فقط یه سوال فنی ! :o)

    من میخوام افزونه ی jQuery lazy load plugin رو به جز صفحه ی اصلی در بقیه ی صفحات به صورت فعال داشته باشم.

    باید چطوری این کار رو بکنم ؟

    منتظر جوابت هستم دوست عزیز. (F)

    پاسخ دادن
    • محسن غیاثی

      سلام دوست عزیز. از این آموزش استفاده کنین.

      پاسخ دادن
      • واحد

        محسن جان این سایت که باز نمیشه ! میشه همینجا توی یه مطلب آموزش بدین ؟ خیلی ممنون میشم. (F)

        پاسخ دادن
      • واحد

        این آموزش شما رو بالاخره تونستم بخونم ولی روی این آموزش اصلا چیزی که من میخوام نیست.ببینید من میخوام فقط اسکریپت افزونه رو توی صفحه ی نخست خودم غیر فعال داشته باشم و توی بقیه ی صفحات افزونه فعال باشه.امیدوارم متوجه منظورم شده باشید.

        پاسخ دادن
        • محسن غیاثی

          دقیقا دوست عزیز میفهمم. من این کار رو تو وبلاگ خودمم انجام دادم و این کدش هست که براش شرط تعیین شده:

          function my_deregister_javascript() {
          	if (is_front_page() || is_archive() || is_page()) {
          	wp_deregister_script( 'lightbox' );
          	wp_deregister_script( 'stt-common' );
          	wp_deregister_script( 'jquery' );
          }
          }
          پاسخ دادن
          • واحد

            ممنون محسن جان.حالا میشه بگی کاری که گفتم رو با افزونه ی jQuery lazy load plugin چطوری انجامش بدم ؟ یه کد برام لطف کنی بسازی بدی منم بذارم ؟ (F)

            پاسخ دادن
          • امید

            سلام
            این کد جاش کجاست ؟

            پاسخ دادن
            • محسن غیاثی

              تو فایل functions.php

              پاسخ دادن
              • امید

                منظورم کد برای فرم بود ، فکر کردم این کدی که اینجا گذاشتید مربوط به فرمه
                ولی مشکل حل شد ، طبق آموزش بالا
                ممنون

  12. mohammad

    سلام این کدهایی که بالا نوشتی در یک قالب خاصی هستند مثل ورد پد و اینا این قالب رو تو ورد پرس چطور میشه درست کرد؟ ممنون میشم روشش رو یاد بدبد.

    پاسخ دادن
  13. سینا سعیدی

    راهی هست که همین کار رو برای این افزونه‌ها انجام داد؟
    NextGen-Gallery
    wp-e-Commerce
    SimpleModal-Login

    پاسخ دادن
  14. مهدی حسنی

    واسه من هنوز مشکل داره . هیچی نشون نمیده در صفحه تماس با ما بجز کد :((
    کمک . تمام کار هایی که گفته بودی هم انجام شد ولی نشد

    پاسخ دادن
  15. مرموز

    سلام
    آقا من قبلا این Google Syntax Highlighter رو هم نصب کرده بودم اما با تنظیم و استفادش مشکل دارم. توضیحات خودش در مورد ویرایش قالب و …
    دقیقا باید چیکار کنم؟ بعد از نصب ، کدها رو بین چه تگ هایی قرار بدم؟
    ممنون از مطالب خوبی

    پاسخ دادن
    • محسن

      سلام. تو بخش تنظیمات افزونه قسمت Shortcode Parameters توضیحات خوبی داده مثلا برای قرار دادن کد php خط ۲ رو ملاحضه بفرمائین.

      پاسخ دادن
  16. محمد ابراهیمی

    سلام
    محسن جان عالی بود البته نه برای من چون فرمو خودم می نویسم چون کاری نداره.
    من یک سوال ازت داشتم
    چطوری می تونم به فرم نظر وردپرس مانند تو امکان درج شکلک را بدم.
    ایا افزونه ای هست یا این که باید خودمان برنامه اش را بنویسیم اگر لطفا کنی و توضیح بدی ممنون می شم.
    موفق باشی

    پاسخ دادن
    • محسن

      سلام دوست عزیز. این افزونه‌ها رو باید نصب کنین:
      Smilies Themer و Smilies Themer Toolbar

      پاسخ دادن
      • محمد ابراهیمی

        سلام
        ممنونم از جوابتون.
        اگه می شه یک سوال دیگه هم داشتم :
        این کدها خیل جال نمایش داده می شن این ها چی افزونه هستن یا برنامه نویسی باید کرد؟
        این از سوال قبلی بسیار مهم تره برای من .
        منتظر جواب هستم.

        موق باشی

        پاسخ دادن
        • محسن

          از این افزونه استفاده کنین: SyntaxHighlighter Evolved

          پاسخ دادن
          • محمد ابراهیمی

            بازم سلام
            می گم برعکس تایتل سایتت تو اصلانم تازه وارد نیستی.
            راستی اگه تونستی برای کامنت هات خاصیت کوکی را بگذار تا این همه وقت صرف پرکردن نام نکنیم.
            اگه مایل باشی من می خوام تبادل لینک کنیم البته اگر بخوای .

            موفق باشی

            پاسخ دادن
          • محمد ابراهیمی

            سلام
            شرمنده بازم سوال دار م:
            من هر کار کردم این افزونه کدها اجرا نشد .طبق گفته خود نویسنده افزونه بین تگ

             code 

            ولی کار نمی کند.
            لطفا بازم راهنمایی کنید.
            موفق باشید

            پاسخ دادن
            • محسن

              طبیعتا باید همینجور که اینجا گذاشتین بزارین و کار کنه. برای اینکه مطمئن بشین بقیه افزونه‌ها رو غیرفعال کنین ببینین جواب میده یا نه.

              پاسخ دادن
  17. نوید شایسته

    بسیار عالی و جینگول پسند….

    پاسخ دادن
  18. araz

    آموزش خوبی است اما به نظر من استفاده از پلاگین Fast Secure Contact Form قابلیت های بالایی نسب به Contact Form 7 دارد.

    موفق باشید.

    پاسخ دادن
  19. 007download

    ممنون دوست عزیز
    خیلی خوب بود

    پاسخ دادن
  20. احمد

    ممنون خیلی خوب بود

    پاسخ دادن
  21. بهروز

    جالب بود… و کاربردی…

    پاسخ دادن
  22. آرش

    سلام دوست عزیز
    من این افزونه رو دارم
    مشکلی که هست اینه که هر فایلی بهش الصاق میشه رو برای من ایمیل نمیکنه
    با اینکه پیغام میده “پیغام شما با موفقیت ارسال شد. متشکریم.”
    خیلی دنبال راه حل گشته ام اما بی فایده بوده
    ممنون اگه کمکم کنین
    اینم آدرس فرم
    http://kafran.ir/%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%85%D8%B7%D9%84%D8%A8/

    پاسخ دادن
  23. Arman

    واقعا عالی بود …

    پاسخ دادن
  24. اندیشمند

    بسیار عالی بود…
    دراولین فرصت تصحیح می کنم
    😉

    پاسخ دادن
  25. Hesam

    ممنون خیلی عالی بود (H)

    پاسخ دادن
  26. نیما

    ممنون.
    حتما” عمل میکنم.

    پاسخ دادن

Please Post Your Comments & Reviews

نشانی ایمیل شما منتشر نخواهد شد Required fields are marked *

*

Share This