FA-TOOLS — Header Component
آموزش گراویتی فرم

آموزش جامع گراویتی فرم: راهنمای ساخت، مدیریت و بهینه‌سازی فرم‌های حرفه‌ای در وردپرس

فهرست مطالب

  • ۱. گراویتی فرم چیست و چرا انتخاب اول حرفه‌ای‌هاست؟
  • ۲. مراحل ساخت اولین فرم در گراویتی فرم (گام‌به‌گام)
  • ۳. کار با منطق شرطی (Conditional Logic)؛ هوشمندسازی فرم‌ها
  • ۴. تنظیمات تاییدیه (Confirmations) و اعلان‌ها (Notifications)
  • ۵. تکنیک‌های پیشرفته: پُر کردن پویا و هوک‌های سفارشی
  • ۶. عیب‌یابی سریع و رفع مشکلات رایج
  • ۷. پرسش‌های متداول
خلاصه کاربردی مقاله:

گراویتی فرم (Gravity Forms) قدرتمندترین افزونه فرم‌ساز وردپرس برای ساخت فرم‌های ساده، سیستم‌های سفارش محاسباتی، دریافت فایل و اتصال به درگاه‌های پرداخت است. در این مقاله صفر تا صد پیکربندی، استفاده از منطق شرطی، ارسال ایمیل‌های سفارشی و رفع تداخل‌های فنی را به صورت کاملاً عملی یاد می‌گیرید.

گراویتی فرم ابزاری است که فرم‌های ساده وردپرس را به سیستم‌های دریافت داده‌ی هوشمند و اتوماتیک تبدیل می‌کند. اگر می‌خواهید فرم‌هایی بسازید که بر اساس رفتار کاربر تغییر کنند، اطلاعات محاسباتی دقیق ارائه دهند یا مستقیماً به درگاه پرداخت متصل شوند، این راهنما تمام نیازهای فنی شما را پوشش می‌دهد.

گراویتی فرم چیست و چرا انتخاب اول حرفه‌ای‌هاست؟

گراویتی فرم چیست و چرا انتخاب اول حرفه‌ای‌هاست؟

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

برخلاف فرم‌سازهای ساده‌ای مثل Contact Form 7، گراویتی فرم داده‌ها را مستقیماً در دیتابیس وردپرس ذخیره می‌کند، امکان تعریف فرآیندهای چندمرحله‌ای را می‌دهد و از معماری رویدادمحور (Event-Driven) پشتیبانی می‌کند. این یعنی می‌توانید پس از ثبت هر فرم، رفتارهای خاصی مثل ارسال اطلاعات به یک API خارجی یا ایجاد کاربر جدید در وردپرس را اجرا کنید.

ویژگی گراویتی فرم (Gravity Forms)
ذخیره‌سازی اطلاعات ذخیره کامل در دیتابیس با قابلیت خروجی CSV و Excel
منطق شرطی (Conditional) پشتیبانی کامل در سطح فیلدها، دکمه ارسال و تاییدیه
اتصال به درگاه پرداخت مستقیم و بدون نیاز به ووکامرس (زرین‌پال، ملت و…)
امکانات توسعه‌دهندگان دارای ده‌ها هوک (Action & Filter) و REST API اختصاصی

مراحل ساخت اولین فرم در گراویتی فرم (گام‌به‌گام)

مراحل ساخت اولین فرم در گراویتی فرم (گام‌به‌گام)

ساخت فرم در گراویتی فرم شامل ۵ گام اصلی است: ایجاد فرم جدید، انتخاب فیلدها، پیکربندی تنظیمات فیلد، تنظیم اعلان‌ها و نمایش فرم در صفحه. این مراحل به شما اجازه می‌دهند فرمی کاملاً استاندارد و ایزوله ایجاد کنید.

  1. ایجاد فرم جدید: از منوی مدیریت وردپرس وارد مسیر فرم‌ها > فرم جدید شوید، عنوان و توضیحات فرم را وارد کنید.
  2. افزودن فیلدها: فیلدهای مورد نظر خود را از پنل سمت چپ (فیلدهای استاندارد، پیشرفته، قیمت‌گذاری یا پست) بکشید و در رندر فرم رها کنید.
  3. تنظیم فیلدها: روی هر فیلد کلیک کنید تا پنل تنظیمات آن باز شود. برچسب (Label)، اجباری بودن، متن راهنما (Placeholder) و شناسه فیلد را بررسی و تنظیم کنید.
  4. ذخیره و پیکربندی: روی دکمه «به‌روزرسانی» کلیک کنید تا ساختار فرم ثبت شود.
  5. جاسازی فرم در برگه: با استفاده از بلوک اختصاصی Gravity Forms در ویرایشگر گوتنبرگ یا شورت‌کد [gravityform id="1" title="true"] فرم را در صفحه مورد نظر بگذارید.
نکته تخصصی: برای بهبود نرخ تبدیل (Conversion Rate)، فرم‌های طولانی را حتماً با استفاده از فیلد Page (برگه) به فرم‌های چندمرحله‌ای تبدیل کنید. فرم‌های چندمرحله‌ای تا ۳۰۰٪ نرخ تکمیل بالاتری نسبت به فرم‌های یک‌صفحه‌ای طولانی دارند.

کار با منطق شرطی (Conditional Logic)؛ هوشمندسازی فرم‌ها

کار با منطق شرطی (Conditional Logic)؛ هوشمندسازی فرم‌ها

منطق شرطی در گراویتی فرم قابلیت نمایش یا پنهان‌سازی فیلدها، بخش‌ها یا دکمه ارسال براساس مقادیر انتخابی کاربر در سایر فیلدها است. این ویژگی باعث خلوت ماندن فرم و کاهش گیج‌شدن کاربر می‌شود.

به عنوان مثال، فرض کنید فرم سفارش خدمات دارید. اگر کاربر گزینه «طراحی سایت» را انتخاب کند، فیلدهای مربوط به سیستم مدیریت محتوا ظاهر می‌شوند؛ اما اگر گزینه «سئو» را انتخاب کند، فیلدهای مربوط به آدرس سایت و کلمات کلیدی نمایش داده خواهند شد.

نحوه فعال‌سازی منطق شرطی روی یک فیلد:

  • تنظیمات فیلد مورد نظر را باز کنید.
  • به تب Rules (قوانین) یا Conditional Logic بروید.
  • گزینه «فعال‌سازی منطق شرطی» را علامت بزنید.
  • شرط را تعیین کنید: مثلاً «نمایش این فیلد اگر [نوع خدمت] برابر باشد با [طراحی سایت]».
هشدار کارایی (Performance Limit):

از ایجاد شرط‌های توی‌درتو و بی‌پایان (بیش از ۱۵-۲۰ شرط روی یک صفحه) پرهیز کنید. منطق‌های شرطی سنگین با جاوااسکریپت سمت کلاینت رندر می‌شوند و در صورتی که تعداد فیلدها بسیار بالا باشد، می‌تواند باعث کندی مرورگر کاربر شود. برای سناریوهای خیلی پیچیده از کدهای سفارشی در قطعه‌کدهای جاوا اسکریپت استفاده کنید.

تنظیمات تاییدیه (Confirmations) و اعلان‌ها (Notifications)

تنظیمات تاییدیه (Confirmations) و اعلان‌ها (Notifications)

اعلان‌ها ایمیل‌هایی هستند که پس از ثبت فرم ارسال می‌شوند، و تاییدیه‌ها پیام‌ها یا تغییر مسیرهایی (Redirect) هستند که کاربر پس از ارسال فرم در سایت مشاهده می‌کند.

یکی از بزرگ‌ترین چالش‌های مدیران سایت، نرسیدن ایمیل‌های اعلان به دست مدیر یا کاربر است. اگر پس از تنظیم کامل اعلان‌ها، ایمیلی دریافت نمی‌کنید، عیب‌یابی دقیق اینکه چرا فرم تماس با ما در وردپرس ایمیل نمی‌فرستد به شما کمک می‌کند مشکل را از طریق سرویس‌های SMTP برطرف کنید.

تنظیم یک اعلان حرفه‌ای (Notification):

  1. به مسیر تنظیمات فرم > اعلان‌ها بروید.
  2. در بخش ارسال به (Send To)، گزینه «انتخاب فیلد» را روی فیلد ایمیل کاربر بگذارید تا یک نسخه برای مشتری ارسال شود.
  3. از برچسب‌های پویا (Merge Tags) مانند {all_fields} برای جاگذاری خلاصه اطلاعات فرم در متن ایمیل استفاده کنید.
  4. در بخش From Email حتماً از ایمیلی با دامنه خود سایت (مثل info@yoursite.com) استفاده کنید تا ایمیل‌ها به پوشه اسپم نروند.

تکنیک‌های پیشرفته: پُر کردن پویا و هوک‌های سفارشی

تکنیک‌های پیشرفته: پُر کردن پویا و هوک‌های سفارشی

گراویتی فرم صرفاً یک ابزار بصری نیست؛ بلکه یک فریمورک واقعی برای توسعه‌دهندگان است. شما می‌توانید داده‌ها را به صورت پویا (Dynamic Population) وارد فیلدها کنید یا فرآیندهای پس از ثبت فرم را کدنویسی کنید.

۱. پُر کردن پویا (Dynamic Population)

این ویژگی به شما اجازه می‌دهد ارزش یک فیلد را از طریق URL (پارامترهای GET)، شورت‌کد یا هوک‌های وردپرس به‌صورت خودکار پر کنید. برای مثال، اگر کاربر از صفحه یک محصول خاص وارد فرم سفارش شود، نام محصول می‌تواند خودکار در فرم بنشیند.

برای فعال‌سازی: در تنظیمات فیلد، به تب Advanced بروید، گزینه Allow field to be populated dynamically را بزنید و یک Parameter Name (مثلاً product_name) تعیین کنید. حال با پاس دادن ?product_name=laptop در لینک، فیلد مقداردهی می‌شود.

۲. دستکاری داده‌ها با هوک gform_after_submission

اگر نیاز دارید اطلاعات فرم را پس از ثبت، به یک API جانبی بفرستید یا دیتابیس جداگانه‌ای را به‌روزرسانی کنید، از اکشن gform_after_submission استفاده کنید. برای مدیریت بهتر این کدها می‌توانید از بخش تکه‌کدهای وردپرس الگوبرداری کنید.

add_action( 'gform_after_submission_1', 'my_custom_process', 10, 2 );
function my_custom_process( $entry, $form ) {
    // دریافت مقدار فیلد با شناسه 1
    $user_email = rgar( $entry, '1' ); 
    // انجام عملیات دلخواه...
}

علاوه بر این، اگر تمایل دارید ظاهر فرم‌ها را دقیقاً منطبق بر قالب سایت سازگار کنید، می‌توانید با استفاده از کدهای سفارشی CSS کلاس‌های داخلی گراویتی فرم مانند gform_wrapper را به‌راحتی استایل‌دهی کنید.

عیب‌یابی سریع و رفع مشکلات رایج در گراویتی فرم

مشکل ۱: عدم کارکرد منطق شرطی یا دکمه بعدی در فرم‌های چندمرحله‌ای

علت: تداخل جاوااسکریپت (JS Conflict) یا فعال بودن کش سنگین روی اسکریپت‌های فرم.

راه‌حل: در تنظیمات گراویتی فرم، گزینه No-Conflict Mode را فعال کنید. همچنین مطمئن شوید اسکریپت gform_init در فایل‌های قالب به‌درستی بارگذاری می‌شود و افزونه‌های راکتی/کشی، فایل‌های JS گراویتی فرم را ادغام (Minify/Combine) نمی‌کنند.

مشکل ۲: خطای Failed Upload هنگام آپلود فایل

علت: محدودیت حجم آپلود در هاست یا غیرمجاز بودن پسوند فایل.

راه‌حل: پسوندهای مجاز را در تنظیمات فیلد آپلود (Allowed file extensions) با کاما جدا کنید (مثل: jpg, pdf, zip). همچنین مقدار upload_max_filesize و post_max_size را در فایل php.ini یا htaccess افزایش دهید.

مشکل ۳: دریافت حجم زیادی از فرم‌های اسپم (Spam Entries)

علت: ربات‌های اسپمر فرم‌های عمومی را هدف قرار داده‌اند.

راه‌حل: استفاده از reCAPTCHA v3 یا فعال‌سازی قابلیت داخلی Honeypot در تنظیمات فرم. تکنیک Honeypot یک فیلد مخفی ایجاد می‌کند که انسان آن را نمی‌بیند اما ربات‌ها آن را پر می‌کنند و شناسایی می‌شوند.

پرسش‌های متداول

آیا گراویتی فرم باعث کندی سرعت سایت وردپرسی می‌شود؟

خیر، گراویتی فرم کدهای خود را بهینه‌سازی کرده و کدهای JS و CSS مربوط به فرم فقط در صفحاتی بارگذاری می‌شوند که فرم در آن‌ها وجود دارد (برخلاف بسیاری از افزونه‌های مشابه).

چگونه فرم‌های ساخته شده را به سایت دیگری منتقل کنم؟

از منوی فرم‌ها > درون‌ریزی/برون‌بری می‌توانید ساختار فرم‌ها را به‌صورت یک فایل JSON خروجی گرفته و در سایت مقصد وارد کنید.

آیا امکان اتصال گراویتی فرم به درگاه‌های پرداخت ایرانی وجود دارد؟

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

تفاوت Confirmation و Notification در گراویتی فرم چیست؟

Confirmation (تاییدیه) پغامی است که مستقیماً روی صفحه به کاربر نمایش داده می‌شود، اما Notification (اعلان) ایمیلی است که به مدیر یا کاربر ارسال می‌گردد.

سوالات متداول

آیا گراویتی فرم داده‌ها را در دیتابیس وردپرس ذخیره می‌کند؟

بله، برخلاف برخی فرم‌سازهای ساده، تمامی اطلاعات ثبت‌شده در گراویتی فرم مستقیماً در دیتابیس وردپرس ذخیره شده و قابلیت خروجی اکسل و CSV دارند.

منطق شرطی در گراویتی فرم چیست و چه کاربردی دارد؟

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

چرا ایمیل‌های اعلان گراویتی فرم به دست مدیر یا کاربر نمی‌رسند؟

دلیل اصلی عدم ارسال ایمیل، پیکربندی نشدن سرویس SMTP در وردپرس یا استفاده از ایمیل‌های متفرقه در بخش فرستنده است که موجب اسپم شدن ایمیل‌ها می‌شود.

آیا گراویتی فرم به درگاه‌های پرداخت ایرانی متصل می‌شود؟

بله، این افزونه از طریق افزودنه‌های جانبی به تمام درگاه‌های پرداخت ایرانی مانند زرین‌پال و بانک‌های عضو شتاب مستقیماً متصل می‌شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *