افزونه ها

وردپرس تم | Contact Form 7 – Conditional Fields افزونه منطق شرطی فرم تماس 7 2021

وردپرس تم | Contact Form 7 – Conditional Fields افزونه منطق شرطی فرم تماس 7 2021

وردپرس تم | Contact Form 7 – Conditional Fields افزونه منطق شرطی فرم تماس 7

افزونه فرم تماس 7 یکی از بهترین افزونه های فرم ساز وردپرس است که اگرچه قابلیت های هسته اصلی آن محدود است اما لیستی از افزودنی های قدرتمند دارد که فرم های ساخته شده با فرم تماس 7 را به سطح بالاتری می رساند. افزونه Contact Form 7 – Conditional Fields یکی از این افزونه ها است که با استفاده از آن می توانید منطق شرطی را به فرم تماس 7 اضافه کنید.

لیستی از افزودنی های فرم تماس 7 را می توانید در مقاله افزودنی های جانبی فرم تماس 7 مشاهده کنید.

در این مقاله افزونه Contact Form 7 – Conditional Fields را مورد بررسی قرار داده و نحوه استفاده از آن را آموزش می دهیم.

آموزش افزونه Contact Form 7 – Conditional Fields و اضافه کردن منطق شرطی در فرم تماس 7

توجه داشته باشید که برای استفاده از این افزونه باید افزونه فرم تماس 7 را در سایت وردپرس خود نصب کرده باشید.

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

بعد از اینکه افزونه نصب شد آن را فعال کنید. نحوه کار با این افزونه را با یک مثال توضیح می دهیم. فرض کنید می خواهید فرمی مشابه شکل زیر تولید کنید.

Contact Form 7 – Conditional Fields

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

Contact Form 7 – Conditional Fields

می خواهیم با افزونه Contact Form 7 – Conditional Fields فرمی ایجاد کنیم که کارهای زیر را انجام دهد:

  • کاربر بتواند پشتیبانی مورد نظر خود را از بین دو گزینه فنی و فروش انتخاب کند.
  • اگر پشتیبانی فنی نیاز داشته باشد، کاربر باید بتواند سیستم عامل (OS) خود را از لیست کشویی انتخاب کند.
  • پس از انتخاب سیستم عامل مورد نظر خود، کاربر باید بتواند نسخه مورد نظر خود را هم مشخص کند. برچسب آن قسمت باید متناسب با انتخاب کاربر تغییر کند.
  • همچنین کاربر باید بتواند گزینه “دیگر” را انتخاب کند. در این حالت باید دو فیلد یکی برای تعیین سیستم عامل و دیگری نسخه در اختیار کاربر قرار داد.
  • اگر سوال مربوط به فروش باشد، یک منوی کشویی به کاربر ارائه شود که بتواند شهر یا قاره خود را انتخاب کند.
  • پس از ارسال فرم، کاربر به طور خودکار یک پیام شخصی دریافت کند. پیامی که دریافت می کند بسته به چیزی که در لیست کشویی نوع پشتیبانی انتخاب کرده متفاوت است.

بهترین کاری است که می توانیم بدون منطق مشروط انجام دهیم وارد کردن کد زیر است.

نام شما: [text your-name]
آدرس ایمیل شما: [email* your-email]

چه نوع پشتیبانی نیاز دارید؟
[select* support-type first_as_label "-- انتخاب نوع پشتیبانی --" "Technical support" "Sales"]

سیستم عامل شما: [select* operating-system first_as_label "-- انتخاب نوع سیستم عامل --" "Android" "iOS" "Linux" "Windows"]

در صورتی که پشتیبانی فنی را انتخاب کرده اید لطفاً نسخه سیستم عامل خود را انتخاب کنید
: [text version]

در صورتی که فروش را انتخاب کرده اید مشخص کنید کسب و کار شما در کجا واقع شده است?:
 [select continent first_as_label "-- Choose your continent --" "Europe" "America" "Africa" "Asia" "Oceania" "Antarctica"]

[textarea comments]

[submit "Send"]

همانطور که می بینید، گزینه “دیگر” وجود ندارد و چند فیلد وجود دارد که در موارد خاص برای کاربر بی ربط هستند و هیچ کمکی به او نمی کنند. در ادامه به شما نشان می دهیم که چگونه با منطق شرطی فرم مورد نظر خود را بسازید.

ایجاد گروه با افزونه Contact Form 7 – Conditional Fields

افزونه Contact Form 7 – Conditional Fields به شما امکان می دهد برای پنهان کردن قسمتهای خاصی از فرم این قسمتها را بین تگ های [group group-name] … [/group] قرار دهید. شما می توانید این کد را تایپ کنید اما با کلیک روی دکمه Conditional Fields Group در بالای صفحه هم می توانید آن را ایجاد کنید.

بعد از کلیک روی این برچسب، یک پنجره پاپ آپ مشابه شکل زیر ظاهر می شود.

Contact Form 7 – Conditional Fields

در این پنجره می توانید نامی برای گروه انتخاب کنید. همچنین می توانید یکی از گزینه های زیر را انتخاب کنید:

  • Clear on hide: با انتخاب این گزینه، لحظه ای که گروه پنهان شود، تمام فیلدهای گروه پاک می شوند.
  • Inline: با انتخاب این گزینه، گروه به جای تگ
    به صورت تگ ارائه می شود. (توجه داشته باشید که قرار دادن عناصر سطح بلوک مانند

    در داخل عناصر درون خطی مانند در HTML نامعتبر است.)

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

[group technical-support-selected]
سیستم عامل شما: [select* operating-system first_as_label "-- سیستم عامل خود را انتخاب کنید --" "Android" "iOS" "Linux" "Windows"]
 نسخه سیستم عامل خود را انتخاب کنید:
: [text version]
[/group]

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

[group technical-support-selected]
سیستم عامل شما: [select* operating-system first_as_label "-- انتخاب سیستم عامل --" "Android" "iOS" "Linux" "Windows"]
    [group os-selected]
 نسخه سیستم عملیاتی خود را انتخاب کنید:
: [text version]
    [/group]
[/group]

اگر فرم را در این مرحله ذخیره کنید، هر چیزی که بین برچسب های گروه قرار گرفته است، در فرانت اند قابل مشاهده نیست. این ویژگی خیلی مفید نیست بنابراین ، به مرحله بعدی بروید!

اضافه کردن منطق شرطی

برای اینکه یک گروه در صورت تحقق برخی شرایط ظاهر شود، باید قوانین شرطی اضافه کنید و افزونه Contact Form 7 – Conditional Fields این امکان را به شما می دهد.

ابتدا مطمئن شوید که فرم را ذخیره کرده اید و سپس روی تب Conditional fields کلیک کنید. صفحه ای مشابه شکل زیر مشاهده می کنید.

Contact Form 7 – Conditional Fields

روی دکمه add new conditional rule کلیک کنید و اطلاعات زیر را وارد کنید:

Contact Form 7 – Conditional Fields

این قانون اطمینان خواهد داد که گروه technical-support-selected  پس از اینکه کاربر گزینه “Technical-support” یا “پشتیبانی فنی” را انتخاب کرد از لیست کشویی قابل مشاهده خواهد بود. حال قانون دیگری ایجاد کنید:

show [os-selected] if [operating-system] not equals ""

این قانون باعث می شود که پس از انتخاب سیستم عامل توسط کاربر، قسمت متن نسخه یا Version ظاهر شود. ما با بررسی اینکه گزینه انتخاب شده در لیست کشویی برابر با یک رشته خالی نیست، به این مهم دست پیدا می کنیم. (توجه داشته باشید، از آنجا که از first_as_label استفاده می کنیم، مقدار – سیستم عامل خود را انتخاب کنید- واقعاً تنظیم نشده است. اگر گزینه first_as_label را حذف کنیم، شرایط به صورت زیر است:

show [os-selected] if [operating-system] not equals "-- سیستم عامل خود را انتخاب کنید --"

این تنظیمات اگرچه مناسب است اما هنوز نیاز است که با افزونه Contact Form 7 – Conditional Fields فرم پیشرفته تری بسازیم. اگر کاربر “دیگر” را از لیست کشویی انتخاب کند، نمی خواهیم گروه [os-selected] نشان داده شود؛ در عوض می خواهیم 2 قسمت دیگر را نشان دهد که کاربر بتواند نسخه سیستم عامل خود را مشخص کند.

بنابراین می خواهیم [os-selected] پنهان شود اگر شرط بالا برآورده شود و اگر[operating-system] برابر با “دیگر” نباشد. برای دستیابی به این هدف می توانیم بر روی دکمه And در کنار شرط اول کلیک کرده و قسمتهای زیر را پر کنیم:

Contact Form 7 – Conditional Fields

حال اگر هر سیستم عاملی غیر از Other انتخاب شود، گروه [os-selected] نشان داده می شود.

در مرحله بعد، فرم را تمام کرده و همه شرایط را اضافه می کنیم.

فرم تمام شده با افزونه Contact Form 7 – Conditional Fields

اگر می خواهید فرم موجود در ابتدای این مقاله را تولید کنید، کافی است کد زیر را در فرم تماس 7 خود جای گذاری کنید.




[group technical-support-selected]
  
  [group os-selected]

  [/group]
  [group os-other-selected]
    
    
  [/group]
[/group]
[group sales-support-selected]
  
[/group]

[submit "ارسال"]

فرم را ذخیره کنید، به تب Conditional Fields بروید و مد متنی Text mode را روشن کنید.

Contact Form 7 – Conditional Fields

حال کد زیر را در صفحه جایگذاری کرده و تغییرات را ذخیره کنید.

show [technical-support-selected] if [support-type] equals "Technical support"
show [sales-support-selected] if [support-type] equals "Sales"
show [os-selected] if [operating-system] not equals ""
               and if [operating-system] not equals "Other"
show [os-android] if [operating-system] equals "Android"
show [os-iOS] if [operating-system] equals "iOS"
show [os-linux] if [operating-system] equals "Linux"
show [os-windows] if [operating-system] equals "Windows"
show [os-other-selected] if [operating-system] equals "Other"

کد کوتاه فرم تماس 7 خود را در صفحه جدید کپی کرده و صفحه را منتشر کنید.

سفارشی سازی پیام ایمیل

با استفاده از افزونه  Conditional Fields for Contact Form 7 ، می توانید پیام های ایمیل خود را براساس آنچه قوانین مشروط در هنگام ارسال فرم رعایت کرده اند، شخصی سازی کنید. با این کار می توانید کارهای بسیار پیچیده ای انجام دهید.

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

پیام سفارشی را می توان به صورت زیر ایجاد کرد:

[technical-support-selected]
متشکریم که سوال پشتیبانی فنی خود را ارسال کردید[/technical-support-selected][sales-support-selected]
متشکریم از سوال فروش شما[/sales-support-selected]

توجه داشته باشید که ما برچسب [sales-support-selected] را مستقیماً پس از بستن برچسب  [/technical-support-selected] باز می کنیم ، این امر به منظور جلوگیری از ظاهر شدن فضای سفید ناخواسته در پیام ایمیل است.

در مرحله بعدی می توانیم یک جدول با تمام زمینه ها مانند زیر ایجاد کنیم:


[technical-support-selected]
  
  [os-selected]
    
  [/os-selected]
  [os-other-selected]
    
  [/os-other-selected]
[/technical-support-selected]
[sales-support-selected]
  
[/sales-support-selected]
your-name[your-name]
your-email[your-email]
support-type[support-type]
operating-system[operating-system]
version[version]
other-os[other-os]
other-version[other-version]
continent[continent]
comments0

جمع بندی

افزونه فرم تماس 7 یک افزونه فرم ساز قدرتمند است که با استفاده از افزودنی های جانبی آن مانند افزونه Contact Form 7 – Conditional Fields می توانید انواع فرم ها را بسازید.

امیدواریم این آموزش مورد توجه شما قرار گرفته باشد.

دانلود افزونه

دانلود افزونه Contact Form 7 – Conditional Fields
صفحه افزونه Contact Form 7 – Conditional Fields

وردپرس تم | Contact Form 7 – Conditional Fields افزونه منطق شرطی فرم تماس 7 2021

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

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

دکمه بازگشت به بالا