Learn how to create a form for a many-paged quiz that allows multiple choices using the Advanced Choice, Conditional Block, Calculated, and other fields of the JetFormBuilder plugin for WordPress. Also, you can use the pre-made Quiz Form template.

Create a Form

First, navigate to the WordPress Dashboard > JetFormBuilder > Add New tab to create a new form. The form will be open in the Gutenberg editor. 

Initially, the form includes the Welcome block, which allows the application of the pre-created or AI-generated forms.

jetformbuilder default form 

Press the “Start from scratch” button to develop a custom form.

The Welcome block will be closed, and the Hidden Field, the Text Field, and the Action Button will be added by default.

default jetformbuilder form fields

Add the form’s title (here, “Quiz”).

The Form Creation Tutorial details how to build the JetFormBuilder forms.

Enable Form Page Progress

Navigate to the JetForm settings and switch on the Enable form pages progress toggle.

the enable form progress toggle activated

Read the WordPress Multi-Step Form with Step Indicator and Conditional Blocks tutorial to learn more details about the creation of multi-step forms.

Customize the Text Field

Navigate to the Block settings tab of the Text Field and fill in the FIELD LABEL field.

text field settings

The General Settings Section guide details how to manage the JetFormBuilder field settings.

Add the Advanced Choices Field with One Choice

Find and then drag and drop the Advanced Choices Field block onto the page.

select choices layouts

In the given case, we selected the “Images with controls” choice layout.

Then, type the field’s name in the FIELD LABEL field (“What is the largest continent in the world?” text, for example) and fill in the FORM FIELD NAME field (e.g., “largest”).

In the next step, select the image above the “Book Name” text on a choice item. Press the “Replace” button on the settings panel that appears and add the image you need.

adding images to the choice items

Type the needed text instead of the “Book Name #” on the choice item.

If you need more than three choice items added by default, press the “plus” icon in the bottom right corner of the choice item to add another. Then, add the needed images and texts into the Image and Choice Control fields.

adding choice items to the advanced choice field

You can customize the style settings as well. To change the text or background color for all options, click the Advanced Choices Field block and open the Block > Style tab.

adding choice items to the advanced choice field

To alter the style settings of one option, click the needed Choice Control block, open the Block > Style tab, and, for instance, change the text color.

setting text colors

Also, for the Choice Control block, you can open the Block > Settings tab, and, in the CONTROL TYPE field, you can select how the item should be chosen – by pressing the “Image” or using the “Radio input” option.

Here, we pick the “Radio input” option.

selecting the control type for the advanced choice control

Every option is considered as the Advanced Choice block.

Click the needed Advanced Choice block, open the Block > General tab, and set the needed values in the VALUE and VALUE FOR CALCULATED FIELD fields.

Fill in these fields for all choice items.

For instance, we set “zero” for incorrect answers and “one” for the correct answer.

setting values for calculated field

In this tutorial, this question and this Advanced Choices field have only one correct answer. 

To redirect users to another page, click the “double-chevron” icon on the settings panel. This action enables the automatic transition to the next page when the values are changed.

enabling the automatic transition to the next page 

Break the Page

Find the Form Page Break Field block and drag and drop it onto the page.

Then, navigate to the Buttons Settings tab and leave the “Enable “Next” Button” toggle inactive. 

Finally, navigate to the Page Settings block and type the text in the LABEL OF PROGRESS field (e.g., “Question #1 out of 2”).

form page break button settings

Add the Conditional Block for One Choice

In this tutorial section, we added the Conditional Blocks to display the needed text if users select the correct or incorrect answer.

We dragged and dropped the Conditional Block to the page and pressed the “crisscrossed arrows” button in the upper tools panel. Then, the Conditional Logic pop-up will be unrolled.

In the Conditional Logic pop-up, we selected the “Show if…” option in the WHICH FUNCTION NEED EXECUTE? drop-down list; then, we pressed the “+ Add Condition” button to set the conditional rule. Here, we selected the Advanced Choices Field label in the FIELD drop-down list (“What is the largest continent in the world?” in this case), chose the “Equal” OPERATOR, and, finally, typed the correct answer value in the VALUE TO COMPARE field (the “1” text,  in this case).

conditional logic settings

Once completed, press the “Update” button.

Then, press the “plus” icon on the right side of the Conditional Block and select the needed field.

adding fields to the conditional block

We selected the Paragraph block and typed the “Correct!” text in the Conditional Block text field. We also set the color for this text.

color settings of the paragraph block

In the same way, we added another Conditional Block that will display the “Sorry, but this answer is not correct!” text in case of an incorrect answer. The only difference is that we set the zero (the “0” text) in the VALUE TO COMPARE field.

conditional block of jetformbuilder

In the next step, we added the Form Page Break block to the page and activated the Enable “Next” button toggle for the button setting block.

Then, we typed the text displayed on the “Next” button in the NEXT BUTTON LABEL field.

Finally, we navigated to the Page Settings block and typed the text in the LABEL OF PROGRESS field (“Answer to the question #1” in our case).

the form page break settings

Add the Advanced Choices Field with Multiple Choice

Duplicate the added Advanced Choices Field and move it below the Form Page Break block, or add another Advanced Choices Field and add the needed Images and Choice Controls.

Navigate to the Block > General settings block and type the field’s name in the FIELD LABEL field (“On what continents does Türkiye lie?” text, in this case), then fill in the FORM FIELD NAME field (the “turkiye” text in the given case).

Enable the To allow the multiple choices toggle in the Value setting block of the field.

allow multiple choice toggle

Finally, press the specific item (Advanced Choice block) and set the needed values in the VALUE and VALUE FOR CALCULATED FIELD fields of the Block > General setting tab.

Set these values for all choice items. In the given case, we set the continent names (i.e., “africa,” “asia,” etc.) in the VALUE field for all items. Then, we typed “0.5” for Asia and Europe and “0” for other continents in the VALUE FOR CALCULATED FIELD setting fields.

general settings of the advanced choice field items

Press the “asterisk” icon to make the Advanced Choice Field required.

setting the field required

In the last step, we added the Form Page Break block, activated the Enable “Next” Button toggle, and filled in the NEXT BUTTON LABEL and LABEL OF PROGRESS fields.

form page break button and page settings

Add the Conditional Block for Multiple Choice

Add the Conditional Block to the page and trigger the Conditional Logic pop-up by clicking the  “crisscrossed arrows” button. 

In the Conditional Logic pop-up, we selected the “Show if…” option in the WHICH FUNCTION NEED EXECUTE? drop-down list, then pressed the “+ Add Condition” button to set the conditional rules. 

Here, we selected the Advanced Choices Field label in the FIELD drop-down list (“On what continents does Türkiye lie?” text, in this case), chose the “In the list” OPERATOR, and, finally, typed the correct answer value in the VALUE TO COMPARE field (“asia” in this case).

setting conditions for the advanced choice field with the multiple choice

To add another condition, scroll down the pop-up and press the “+ Add Condition” button.

In the appeared fields, select the required FIELD (“On what continents does Türkiye lie?” in this case); choose the “In the list” OPERATOR, and, finally, type the correct answer value in the VALUE TO COMPARE field (“europe” in this case).

adding conditional rules for the advanced choice field with the multiple choice

Once all conditions are added, press the “Update” button.

Add the needed fields onto the Conditional Block (the Paragraph block and with the “Correct!” text in our case).

adding fields to the conditional block of the multiple choice field

Add another Conditional Block and set the conditional rule to display the “Sorry, but this answer is not correct!” text if the conditions are unmet. Here, we set the “Not in the list” operator, and the other settings are the same.

not in the list operator applied to the conditional block

Finally, we added the Form Page Break block, activated the Enable “Next” Button toggle, and filled in the NEXT BUTTON LABEL and the LABEL OF PROGRESS fields (the “Next Page” and “Score” texts, respectively).

Add the Calculated Field

We added the Calculated Field to show the quiz’s total score. Then, we filled in the FIELD LABEL and FORM FIELD NAME fields (the “SCORE” and “score” texts, respectively).

We typed the “%largest%+%turkiye%” text, which means that this field will calculate the correct answers for the first and second Advanced Choices Fields (in this case, we typed the names of the previously added Advanced Choices Fields).

adding the calculated field

The Checkbox + Calculated tutorial explains how to combine these fields.

The last step is adding the Form Page Break block. Here, we did not activate the “Enable “Next” Button” and “Add Prev Page Button” toggles but filled in the LABEL OF PROGRESS field with the text that will be displayed as the last step of the progress bar (the “Score” text).

Finally, once you complete the form with the fields, press the “Update/Publish” button.

Post-Submit Actions

The “Save Form RecordPost-Submit Action is set by default. We kept this action and did not add any others because such actions are uncommon for online quizzes.

However, you can add other Post-Submit Actions, such as “Send Email.” 

Add the Form to a Page

Open a page/post/CPT post/template you need and place the JetForm widget (in Elementor), JetForm block (in Block Editor), or JetForm element (in Bricks). Select the built form in the Choose Form drop-down list. 

Learn about other settings from the JetForm Overview.

jetform widget added to a page

Finally, navigate to the front end and check how this form works.

the quiz form on the front end

First, we typed the name and pressed the “Asia” choice item. Then, we got the result of the choice.

redirection to the next page of the quiz form

After clicking the “NEXT PAGE” button, we were redirected to the second page of the form. 

Here, we ticked the “Asia” and “Europe” checkboxes and clicked the “Next Page” button.

advanced choices field with multiple choices on the front end

The result will be shown on the next page.

conditional block on the front end

Finally, we were redirected to the last page of the form.

the calculated field on the front end

Pressing the “Submit” button submits this form.

That’s all about creating the form for the many-paged quiz that allows multiple choices using the Advanced Choice, Conditional Block, Calculated, and other fields of the JetFormBuilder plugin for WordPress.

RSVP forms (or “Please respond” forms) are intended to collect and manage data on clients who would visit an event.

The RSVP form functionality can be implemented, for example, via the following:

In this tutorial, we create an RSVP form with the Text, Radio, and TextareaFields and set Post Submit Actions with conditions.

Create a Form

Navigate to the WordPress Dashboard > JetFormBuilder > Forms tab and press the “Add New” button to create a new form. Also, check the tutorial on How to Create a Form.

Initially, the form includes the Welcome block, which allows the application of the pre-created or AI-generated forms.

welcome block of jetformbuilder forms

Type the form’s title instead of the default “Add title” heading text (the “Wedding Invitation” text in the given case).

Press the “Start from scratch” button to develop a custom form.

After closing the Welcome block, three blocks are added to the page: the Hidden Field, the Text Field, and the Action Button.

Add Fields to the Form

The default Hidden Field is not necessary in this case; we left this field to save the post ID in the form record data. 

We leave the Text Field, added to the form by default, to get the client’s name.

Unroll the field’s settings, type its name in the FIELD LABEL field, and press the “asterisk” sign to make this field required.

jetform default blocks

Then, add the Radio Field or Select Field block.

radio field block of jetformbuilder forms

Unroll the field’s settings and complete the FORM FIELD LABEL (in the given case, we set the “Will you be attending?” label). The  FORM FIELD NAME field will be filled automatically (in the given case, the “will_you_be_attending” text was added).

NOTE

The FORM FIELD NAME must be unique for this form and can contain only lowercase Latin letters, numbers, and “-” or “_” signs without capital letters or spaces.

Press the “Manage items” button and add the needed variant of answers in the appropriate fields of the Edit Manual Options pop-up (here, we added the “Yes,” “No,” and “Maybe” options and typed the appropriate texts into the VALUE fields).

radio field block options popup

Press the “Update” button to save the field’s option and close the pop-up.

Find and drag-n-drop the Textarea Field. Fill the FIELD LABEL (in the given case, this field is for comments).

textarea field block of the jetformbuilder

Specify the Post Submit Actions

In this section, we set the Post Submit Actions, which will be performed if some conditions are met. In this tutorial, we set the following Post Submit Actions: mailing the letters using the “Send Email” action and redirecting users to the “Thank You” page using the “Redirect to Page” action if users selected the appropriate option from the Radio Field block.

Unroll the JetForm settings. Navigate to the Post Submit Actions tab.

Set the Save Form Record action

The “Save Form Record” action is set by default. 

The tutorial called How to Use Save Form Record Action And Manage Form Submissions details how to set this action and manage its settings.

Set the “Send Email” action

Press the “New Action” button and select the “Send Email” option from the drop-down list. Then press the “pencil” icon and set the following settings in the pop-up:

  • Select the “Admin email” option from the MAIL TO drop-down list to mail a visit confirmation letter to the site administrator. This email is set in the Administration Email Address field in the WordPress Dashboard > Settings > General tab.
  • If an appropriate field with the email to reply to is added to the form, unroll the REPLY TO drop-down list and select the “Email from submitted form field” or “Custom email” option. If selected, these options activate the REPLY TO EMAIL FROM FIELD and REPLY TO EMAIL ADDRESS menus, respectively; in this case, we did not intend the form’s field for the client’s email, so we left this field empty. 
  • Type values in the SUBJECT field, FROM NAME field, and FROM EMAIL ADDRESS field or choose it from the form’s fields by pressing the Dynamic Tag icon (“wrench“); in the given case, we typed the “Wedding Invitation” text into the SUBJECT field of the pop-up and used the “Name” Text Field to add the client’s name (%name%) in the FROM NAME field. The FROM EMAIL ADDRESS field is left empty.
send email settings of the post submit actions
  • Scroll down the pop-up and select the “Plain text” or “HTML” options from the CONTENT TYPE drop-down list. If selected, both options activate the CONTENT and ATTACHMENT fields, allowing the form fields with attachments to be added. Additionally, the “HTML” option activates the Disable Auto-Formatting toggle, which prevents inserting paragraph breaks automatically in each new line in the email content field.
  • In the CONTENT text field, type the email message that the admin will receive if clients select the “Yes” option. Alternatively, you can press the Dynamic Tag icon near the CONTENT field and choose the form’s field to get such text. In this tutorial, we selected the “Comments” Textarea Field (the “%comments%” option) to add the client’s message to the email.
fields of the send email settings popups

Press the “Update” button to close the pop-up.

Now, we will set action conditions to send the email if the needed option from the Radio Field block is selected.

Read the Post-Submit Actions Conditions tutorial to know how to manage the Post Submit Actions and set specific conditions.

Then, click the “Edit Conditions & Events” button to set the conditions for sending “Thank You” letters. 

In this case, the emails will be sent if users confirm their attendance.

The “AND (ALL conditions must be met)” option is set by default in the CONDITION OPERATOR drop-down list.

edit action conditions and events popup

Press the “Add New Condition” button on the pop-up and select the options in the appropriate drop-down lists to set conditions:

  • To fulfill this condition, the result of the check must be TRUE toggle is enabled by default; therefore, if you need to set the condition opposite to the options from the OPERATOR drop-down list, turn off this toggle;
  • Unroll the OPERATOR drop-down list and select the needed condition: “Equal,” “Greater than,” “Less than,” “Between,” “In the list,” or “Contain text”; 
  • Unroll the FIELD drop-down list and select the field that contains data for comparison;
  • If you compare date or time values, you may need to convert them into the timestamp.  Select the “String to Timestamp” option from the TYPE TRANSFORM COMPARING VALUE drop-down list;
  • Type the value to compare in the VALUE TO COMPARE field or press the Dynamic Tag icon and select if from the “Post,” “User,” “URL Query Variable,” and “Option Page” options. 

In this tutorial, to meet the condition, users should select the “Yes” text value from the “Will you be attending?” Radio Field. Therefore, we selected the “Equal” option from the OPERATOR drop-down list, then chose the “Will you be attending?” field from the FIELD drop-down list, and finally typed the text equal to the needed value (in the given case, the “Yes” text without brackets) in the VALUE TO COMPARE field.

setting post submit action execution conditions

Once completed, press the “Update” button to close the pop-up.

To set conditions for performing other Post Submit Actions (for example, if clients selected the “No” or “Maybe” options), press the “New Action” button to add another Post Submit Action and set specific conditions as it was done for the “Yes” options.

Set the “Redirect to Page” action

Press the “New Action” button and select the “Redirect to Page” option from the drop-down list. 

Then, press the “pencil” icon to open the Edit Action pop-up. In this case, users, after selecting the “Yes” variant from the Radio Field, will be redirected to a static page; thus, we set the following settings in the Edit Action pop-up: 

  • Select the needed type of page in the REDIRECT TO drop-down list (here, the “Static Page” option);
  • Add the particular page in the SELECT PAGE drop-down list.
selecting the page for redirection

Press the “Update” button to close the pop-up.

Click the “Edit Action” button to set the conditions of redirecting to the “Thank You” page. In the given case, this pop-up has the same settings as for the “Send Email” action: we selected the “Equal” option from the OPERATOR drop-down list, then chose the “Will you be attending?” field from the FIELD drop-down list, and finally typed the text equal to the needed value (in the given case, the “Yes” text without brackets) in the VALUE TO COMPARE field.

setting redirect to page post submit action conditions

Press the “Update” button to close the pop-up.

Style the Form

To style the form’s elements, install and activate the JetStyleManager plugin via the WordPress Dashboard.

Then, return to the form and press the “brush” icon in the top right corner of the screen. 

In this case, we customized the “Submit” button’s background and typography.

jetform styling by the jetstylemanager plugin
NOTE

The free JetStyleManager plugin allows customizing the RSVP form’s design according to the event’s style (i.e., as a wedding invitation card, conference program flyer, etc.).

Read the tutorial JetFormBuilder: WordPress Form Block Style Setting to know how to style any form’s block.

If completed, press the “Publish/Update” button.

Add the Form to a Page

Create a page in Elementor/Block Editor/Bricks. In the given case, we created the page in Elementor.

Also, check the Displaying a JetFormBuilder Form in Any Page Builder tutorial.

Find the JetForm widget and drag and drop it onto the page. Then, select the just-built form in the Choose Form field.

the rsvp form added to a page in elementor

This widget has Style settings that allow customization of the particular fields (such as the Input Fields or Conditional block) and the form’s style as a whole (such as Form Row or Label). We customized the typography of this form.

the rsvp form styled

Fill in the form and press the “Submit” button.Then, users will be redirected to the “Thank You” page.

redirection to the thank you page

Collect and Process Form’s Data

Navigate to the WordPress Dashboard > JetFormBuilder > Form Records tab to see all collected form entries. Open the needed form or hover the cursor over the form’s title.

the rsvp form in the jetformbuilder from records tab

Press the “View” link under the form’s title to unroll the submitted form data.

jetform record tab

Enter your mailbox and open the email you received.

the client reply letter

That’s all about creating RSVP forms in WordPress using the JetFormBuilder plugin’s fields and setting different post-submit actions and conditions.

The PayPal payment form is a useful functionality that can be added to WordPress websites for small e-commerce projects or mixed projects that combine content and e-commerce. 

With this form, the complex functionality of WooCommerce is not required. So, let’s find out more about the PayPal payment form, which is suitable for small online stores, and build one selling services or products.

Contents:

Why You Need a WordPress PayPal Form

PayPal is one of the most popular payment services worldwide. Integrating PayPal into your project can be beneficial, as it can help to capture a larger share of payments.

Adding a PayPal form to a WordPress website does not require an additional plugin.

NOTE

You can use the free version of JetFormBuilder, which has PayPal integrated.

With JetFormBuilder, you can set up a PayPal form to start collecting payments.

JetFormBuilder also supports PayPal Recurring Payments and Stripe Payments, making it a versatile tool for processing different types of payments.

Top WordPress PayPal Form Features

  • Configure the actions that are performed after a successful payment. For example, a PDF with an invoice will only be sent to the user after successful payment. This allows you to automate document delivery and reduce manual work;
  • Track all transactions and view payment statistics with the Payments section of JetFormBuilder. This is convenient for analyzing financial data and controlling income;
  • Add Conditional Logic to the payment form. This allows you to customize the form to respond to user actions. For example, you can show or hide certain form fields depending on the options you choose;
  • Calculate the total amount automatically based on the options selected in the form. This feature can be used in forms where the user can select various additional services or products, and you need to update the total cost dynamically.

WordPress PayPal Form Structure

Step 1 — Personal Info

  • First Name and Last Name. Text Fields to find out the user’s name;
  • Email Address. A Text Field with the “Email” FIELD TYPE to get the email where the offer will be sent;
  • Phone Number. A Text Field with the “Tel” FIELD TYPE in case you need the user’s phone number. For instance, to set the SMS marketing.

Step 2 — Shipping Info

  • Shipping Address. A Text Field for the address where the order will be shipped;
  • City, Country, Postal Code, State/Province/Region. Text Fields that specify the address with additional information.

Step 3 — Order Info

  • Your Order. A Radio Field where the item for order can be selected;
  • Quantity. A Number Field indicating the quantity of the ordered item.

Step 4 — Extra Info

  • Do you want to add something to your order? A Checkbox Field with additional items/services that can be added to the order;
  • Comments. A Textarea Field where a customer can leave their comments;
  • Total. A Calculated Field for the total price calculations.

How to Create a WordPress Custom PayPal Form

Initially, you should check the settings to adjust PayPal if you have not done so already. So, proceed to WordPress Dashboard > JetFormBuilder > Settings and open the Payments Gateways tab.

Make sure that the Enable Gateways toggle is activated. 

Then, complete the Client ID and Secret Key fields. This information can be found in your PayPal account dashboard.

Don’t forget to press the “Save” button.

payments gateways

To build a WordPress PayPal form, navigate to WordPress Dashboard > JetFormBuilder > Add New

Type in the title of the form.

At first, the Welcome block is added to the form by default. Push the “Start from scratch” button to build a brand-new form. Or, press the “Generate via AI” button to create a form based on your request.

Initially, we push the “Start from scratch” button and delete three fields added by default.

welcome block in the form

The first block in the form will be the “Personal Info” Heading.

Then, we add two columns. In the first one, we put the Text Field with the “First Name” FIELD LABEL

We also press the “asterisk” button above the field to make this field required for completion.

first name text field

In the second column, we add one more required Text Field indicating the “Last Name.”

last name text field

Returning to the first column, we add one more required Text Field, “Email Address.” 

Also, set the FIELD TYPE to “Email”.

email address text field

In the second column, we place one more required Text Field, named “Phone Number” this time. So, the FIELD TYPE should be set to “Tel” this time.

phone number text field

Then, we add one more Heading, “Shipping Info.”

After this, we add the required Text Field. This field will contain the shipping address.

shipping address text field

You can create several address fields and make them required to ensure the shipping address is complete.

For instance, we add the required “City,” “Country,” “Postal Code,” and “State/Province/Region” Text Fields.

address details text fields

The following Heading is “Order Info.”

The first field in this section will be the Radio Field called “Your Order.”

In our case, the FILL OPTIONS FROM field is set to “Manual Input.” If you also pick this option, press the “Manage items” button to manually add options to the field.

your order radio field

Add all the needed options by pressing the “Add new Option” button whenever you want to add a new option to the radio. 

For instance, the first option in the given case has the “Shirt” LABEL, the “shirt” VALUE, and the “20” value set in the CALCULATE field. 

“20” in this field indicates the value that will be used for total price computation in the Calculated Field.

After you add all options, press the “Update” button.

first option set in your order field

The following is the required Number Field indicating “Quantity.”

In the Field settings, we set the “1” MIN VALUE, “5” MAX VALUE, and “1” STEP value.

quantity number field

One more section will be separated by a Heading, which is called “Extra Info.”

The next field here is a “Do you want to add something to your order?” Checkbox Field.

Then, we set FILL OPTIONS FROM to “Manual input” and click the “Manage items” button.

checkbox field with additional services

Here, we set three options. The flow is the same as for the Radio Field mentioned above.

Once all the needed options are added, press the “Update” button to return to the form.

first option set in the additional checkbox field

The following field to be added is the Textarea Field called “Comments,” which will be optional for completion.

comments textarea field

To finalize the form, we add the “Total:” Calculated Field and add the following values inside:

%your_order% * %quantity% + %additional%

All of the values presented here are the FORM FIELD NAMES of the previously added fields; all fields and macros can be found in the drop-down list under the “wrench” icon.

total calculated field

The last field in the form is the Action Button. We leave it as default, but the FIELD LABEL can be changed there if needed.

action button field

Then, proceed to the JetForm section of the form and open the Gateways Settings tab.

Here, pick the “PayPal Checkout” option and press the “Edit” button to customize the settings.

paypal checkout option selected

In the pop-up, you can either activate the Use Global Settings toggle to copy the CLIENT ID and SECRET KEY fields from there or complete these fields manually.

Then, select the preferred GATEWAY ACTION; it can be either the “Pay now” or “Create a subscription” option.

The further settings for these options will appear once you press the “Sync Access Token” button, and the synchronization process will be completed successfully.

use global settings toggle activated

For instance, we leave the default “Pay Now” GATEWAY ACTION

After the synchronization is complete, we adjust the CURRENCY CODE (“USD” in our case) and select our “total” field as the PRICE/AMOUNT FIELD so the price for PayPal transaction will later be taken from this Calculated Field.

You can also customize the following payment messages if desired or leave them as default.

Press the “Update” button to save the changes.

additional paypal checkout settings

Head to the Post Submit Actions tab. Here, we set the “Save Form Record” action and leave its settings unchanged; with this action, the values entered in the form will be saved to the JetFormBuilder plugin’s Form Records directory.

One more action we add is “Send Email.” It can be edited by pressing the “pencil” button below the option.

send email action added

Here, adjust the settings according to your needs. More about the customization of this action can be found in the “Send Email” overview.

send email action editing pop-up

For instance, we added the CONTENT to the sent email based on our form fields. 

“Hi!

You have a new order on your website:

Order: %your_order% x %quantity%

Additional: %additional%

Total Price: %total%

Made by: %first_name% %last_name%

Phone Number: %phone_number%

E-Mail: %email_address%

Shipping Address: %shipping_address%

%city%, %country%, %postal_code%, %state_province_region%

Comments: %comments%”

In this message, the fields are presented with macros (based on their FORM FIELD VALUE and put inside two “percent” symbols). This way, the values put in the form will be dynamically pulled to the sent email.

Push the “Update” button to save the action settings.

content field in the send email post submit action editing window

You can customize the form further if needed. For instance, you can adjust the style settings with the free JetStyleManager plugin.

Once the form is ready, press the “Publish” button.

Let’s add a form to the page/template. For example, we will work with the static page, so we open WordPress Dashboard > Pages and press the “Add New” button.

The form built with JetFormBuilder can be placed on pages/templates built with Elementor, Gutenberg, or Bricks. The JetForm settings in all the available builders are the same.

In our case, we work with Elementor. 

Add the additional content to the page if needed. Then, find the JetForm widget/block/element and put it on the page.

Select the just-built form in the corresponding field (Choose Form). 

Once you customize all the desired settings, press the “Publish/Update” button.

jetform widget in elementor

Head to the front end of the just-edited page. Complete the form and press the “Submit” button.

form completed

If everything is completed correctly, you will be redirected to the PayPal page, where you can complete the transaction.

paypal purchase

Once the transaction is done, the form should be fully submitted.

You can also check WordPress Dashboard > JetFormBuilder > Form Records if the corresponding action was set previously.

There, you can find the information on the available form records.

To see the full information, hover over the needed record and push the “View” button.

form records

There, you can check the information about the completed fields in the form.

form record opened

Also, as we have added the “Send Email” action, we receive an email containing the necessary information from the completed form.

email received

The final step is to check the WordPress Dashboard > JetFormBuilder > Payments directory. 

Hover over the needed transaction and click the “View” button.

jetformbuilder payments page

Here, the information about the transaction can be checked.

jetformbuilder payment page

That’s all; now you know how to build a PayPal form using the JetFormBuilder plugin for WordPress.

WordPress PayPal Form Pro Features

Tutorial requirements:

The free version of JetFormBuilder allows building a Register Form, and the User Login Action addon enables the creation of a front-end login form. While they can exist as two separate forms, it is possible to combine the functionalities of registration and login in one form using the Render States.

This tutorial will explain how to use the Render States feature to combine the two forms and switch between them with a button.

login form with a registration feature

Contents:

Create a New Form

Follow to WordPress Dashboard > JetFormBuilder > Forms > Add New to create a new form. To start building a new form from scratch, press the “Start from scratch” button in the Welcome block.

build a new form from scratch

Give the form a title and remove all the field blocks from the canvas. To remove a block, click on it, find the “Options” button in the toolbar, and select “Delete.” 

delete a gutenberg block by clicking the options button in the block toolbar

After removing all the blocks, toggle the Block Inserter by clicking the blue “plus” icon in the top toolbar and search for the Conditional Block. Add two Conditional Blocks to the canvas. Alternatively, use the shortcut slash command “Conditional Block” to add the blocks quickly.

add two conditional blocks on the canvas

The first Conditional Block will display the login form, and the second block will show the registration form. Using the Change Render State buttons, we will switch between the Conditional Blocks, and as a result, the user will see only one form at a time.

Build the Login Form

Let’s build the login form in the first Conditional Block. The form will consist of a Text Field for login, a Text Field for password, and a “Remember Me” Checkbox Field. We will also add an Action Button to submit the form and a Change Render State button to switch to the registration form.

Select the first Conditional Block and click the black “plus” icon on the right side to toggle the Block Inserter. Search for the Text Field and add it. 

add a text field inside a conditional block

Open the Block settings. Give this field a FIELD LABEL — “Login,” and a FORM FIELD NAME — “login.” In this field, users will insert their login.

giving the text field a field label and a form field name

Next, add a new Text Field for the user password. Set the FIELD LABEL to “Password” and the FORM FIELD NAME to “password.” Then, scroll the Block settings down and find the FIELD TYPE drop-down menu. Select the “Password” option. 

select the password field type in the text field settings

After that, add a Checkbox Field below the Text Fields, but still inside the Conditional Block. Leave the FIELD LABEL empty and enter the FORM FIELD NAME — for example, type “remember-me-by-login.”

The “Remember Me” field helps to keep the user authenticated for a longer period of time — after checking the “Remember Me” checkbox, the user will remain logged in for fourteen days; if not, only for two days.

creating remember me checkbox for a login form in jetformbuilder

Press the “Manage Items” button to add checkbox options. In the opened pop-up, click “+ Add new Option.” Insert “Remember Me” as the LABEL of the option and “1” as its VALUE.

adding a remember me checkbox option in the checkbox field of jetformbuilder

Save the changes by clicking the “Update” button. 

Finally, add an Action Button to let users submit the login form. Enter “Log In” as the FIELD LABEL

changing the label of the action button in a jetformbuilder login form

For now, the layout of the login form is completed. The Change Render State button will be added later. 

Let’s proceed to setting up the current Conditional Block.

Render State for Login Form

Select the first Conditional Block and click the button in the toolbar to assign a new condition. 

add a new condition to a conditional block in jetformbuilder

Inside the Conditional Logic pop-up, select which function to execute — “Show if…”. Then, press the “+ Add Condition” button and start setting up the condition. In the OPERATOR drop-down list, select the “Is render state” option. Pick the “DEFAULT.STATE” option from the RENDER STATE list. Click “Update” to save the changes.  

set up conditions inside the conditional block

The “DEFAULT.STATE” is a form default render state. When a page with a JetFormBuilder form is opened in a browser, the form is rendered in its default state. Therefore, all the content inside this Conditional Block will be displayed simultaneously. To see the content of other Conditional Blocks designed for different form states, you should switch the form state to the one needed. 

Now, let’s proceed to building the Registration Form part. 

Build the Registration Form

Find the second Conditional Block. Inside this block, we will place a Registration Form

Instead of building this part from scratch, we will use a ready Pattern. Toggle the Block Inserter (the blue “plus” button) in the top toolbar and switch to the Patterns tab. Proceed to the JetForms tab and select the “Register Form” Pattern. Place it inside the second Conditional Block

add register form pattern from the block inserter

Next, remove any extra columns and blocks. Rename the FORM FIELD NAME of the “Password” Text Field. We will give it a unique name — “register-new-password.” 

renaming the form field name of the password field

Lastly, copy the “Remember Me” field from the login form and insert it into the registration form part right above the Action Button. Give it a new FORM FIELD NAME

remember me checkbox inside the registration form

With that, the registration part is completed. 

registration form inside a conditional block of jetformbuilder

Render State for Registration Form

Let’s configure the render state of the second Conditional Block. As previously, select the block and open the Conditional Logic pop-up. Set the function to “Show if…” and the Operator to “Is render state.” 

Then, press the “New render state” plus-shaped button to add a new custom state. 

new render state plus-shaped button inside conditional block settings

Set the name of your choice. We will call the new state “REGISTER.” Once the new state is added, it is assigned automatically to the Conditional Block

assign register state to the conditional block

Lastly, save the changes by hitting the “Update” button.

Add the Change Render State Buttons

To switch between states, the Change Render State block should be utilized. We will place this block inside both Conditional Blocks. The Change Render State blocks will enable us to switch between the form for login and the form for registration. 

Locate the first Conditional Block. Under the Action Button, place the Change Render State block. 

change render state button inside the form for login

This button will allow users to switch from the login form, the default state, to the registration form. Therefore, give this block an appropriate label and set the “REGISTER” state into the SWITCH STATE multi-select. 

Next, add a new Change Render State block into the second Conditional Block. This button will enable users to switch from the registration to the login form. In the SWITCH STATE field, pick the “DEFAULT.STATE” option.

use change render state button to switch to the default state

Post Submit Actions

The form layout is complete. The next part of the work is to add Post Submit Actions that should be executed after form submission. 

User Login

Let’s start by adding the “User Login” action, which will log users in if they submit the first part of the form. 

Switch to the JetForm settings tab in the right sidebar and unfold the Post Submit Actions tab. Instead of the default “Save Form Record” action, pick the “User Login” action. 

adding user login action to a jetformbuilder form

Click the pencil-shaped button under the action name to edit it. 

Map the USER LOGIN FIELD with the “Login” form field, the USER PASSWORD FIELD with the “Password” field, and the REMEMBER FIELD with the “remember-me-by-login” Checkbox Field from the first Conditional Block

user login action setup

Click the “Update” button to save the changes and proceed to the next step.

Register User

Click the “+ New Action” button to add a new action — “Register User.” This action will be executed if the user completes the second part of the form.

add the register user action

Press the “pencil” button to edit the action. Then, link the User Login, Email, Password, and Confirm Password fields with their corresponding form fields from the second Conditional Block

register user action configuration in jetformbuilder

Scroll the settings down to select the USER ROLE, which will be assigned to the newly registered user. If you previously created custom meta fields for users, you can link the form fields with them. To link a form field with a custom field of a user, type in the name of the corresponding meta field in front of the form field’s name in the USER META section.

configuring user role and custom fields in the register form action for jetformbuilder

Scroll past the USER META section to activate the Log In User after Register toggle. Connect the “REMEMBER ME” FIELD with the “remember-me-by-registration” Checkbox Field from the registration form. This setting allows users to log in automatically after the registration is completed.

log in and remember user after registration settings in jetformbuilder

Follow the article about the “Register User” action to learn about each further setting in detail.

Once done, click “Update” to save the changes.

Redirect to Page

After users log in or register, it might be convenient to redirect them to different pages. For this purpose, add two “Redirect to Page” actions — one below the “User Login” action and another below the “Register User” action.

adding redirect to page actions to a jetformbuilder form

Edit the first action. In our case, we will use it to redirect users to their “Account” page after they log in. 

Select the “Static Page” option from the REDIRECT TO drop-down and select the needed page — we will select the “Account” page.

configure the settings of the redirect to page action to redirect the user to the account page

Repeat the same procedure for the second “Redirect to Page” action.

To learn how to craft the Account page, proceed to the Creating User Account Page With Different Dashboard Structures tutorial.

To make the Account page for the e-commerce website, go to the How to Create My Account Page With Endpoint Templates tutorial.

Send Email

Add the last post submit action to the form—the “Send Email” action—at the end of the actions list. This action will send an email to the user after a successful registration. Then, click the “pencil” icon to edit the action.

add the send email action to the registration form

Proceed with the configuration according to our guide on the “Send Email” action. Set the MAIL TO setting to “Email from submitted form field” and select the “E-mail” field in the dropdown below. Next, define the subject of the email. Use the macro [%CT::SiteName%] to insert the website’s name dynamically into the email subject or content. Then, fill in the required fields FROM NAME, FROM EMAIL ADDRESS, and CONTENT

setting up email functionality in a registration form of jetformbuilder

Once the setup is complete, click the “Update” button to save the changes.

Set Up Events for Actions

The last step in the form configuration process is to assign Post Submit Actions with Events. Events define when a specific action is executed.

Click the “Edit Conditions & Events” button under the first action, “User Login.” 

add new event to a post submit action

Inside the “Edit Action Conditions & Events” pop-up, switch to the “Events match” tab and assign the “ON.DEFAULT.STATE” EVENT

on.default.state event in jetformbuilder action settings

Click “Update” to save the changes. Assign the same “ON.DEFAULT.STATE” EVENT to the first “Redirect to Page” action. Then, assign the “ON.REGISTER” EVENT to the rest of the actions.

assigning events to actions in jetformbuilder

Now, click “Publish/Update” to create the form. The configuration part is complete.

Add the Form to a Page

Open the page or template where the form should be located and place it using the JetForm widget (in Elementor), JetForm block (in Block Editor), or JetForm element (in Bricks). From the CHOOSE FORM drop-down list, select the built form. Learn about other settings from the JetForm Overview.

using jetform widget to display a jetformbuilder form

We placed our form on the page edited in Elementor. To display the form on other page builders, check our guide on How to Display a Form on the Front End.

Test the Flow

Open the page where the form is located on the front end. Only the first part—the login form—should be visible. To switch to the registration form, click the “I don’t have an account.” — the Change Render State button.

switch to a different form state with the change render state button

Now, the registration form is displayed.

switching between login and registration form using render states of jetformbuilder

That’s all about using the Render States to combine the functionalities of several forms in one with the JetFormBuilder plugin on your WordPress website.

The file uploading functionality is implemented via the Media Field block of the JetFormBuilder plugin. It allows different user access, storage of attachments, and specification of the maximum size of the uploaded files and their formats.
Users can use the MediaField block independently, as part of the pre-built forms, or as generated by the AI ones.

Create a Form

Navigate to the WordPress Dashboard > JetFormBuilder > Forms tab and press the “Add New” button to create a new form. Also, check the tutorial on How to Create a Form.
Initially, the form includes the Welcome block, which allows the application of a pre-created or AI-generated form.

jetform welcome block

Press the “Start from scratch” button to develop a custom form.

Add the Media Field Block

In the given case, we added only the Text Fields for the contact data, but you can add all the needed fields.

Find, drag, and drop the Media Field block. 
Fill in the FIELD LABEL field (in this case, “Upload file”). The FORM FIELD NAME field will be filled in automatically, but this value can be changed if desired.

media field block added

Set the following settings of the MEDIA FIELD block:

  • USER ACCESS — select the user type available to upload the files. In the given case, we allow uploading for the “All users (inc. Guests)” option;
  • MAXIMUM ALLOWED FILES TO UPLOAD — type the maximal number of allowed files to upload (for the given case, we left this field blank to upload one file);
  • MAXIMUM SIZE IN MB — type or select the maximum size of the uploaded files (here, we specified 500 MB); 
  • MAXIMUM FILE SIZE MESSAGE — type the text to be displayed instead of the default “Maximum file size %max_size%” text;
  • ALLOW MIME TYPES — specify the allowable file types. For instance, we allowed uploading only PDF files.
media-field block settings

Set the Post Submit Actions

Navigate to the JetForm settings and scroll down to the Post Submit Actions settings. 

Read the Post-Submit Action Controls Overview tutorial to learn how to manage Post Submit Actions.

The “Save Form Record” action is set by default, allowing the saving and processing of form data.
If needed, edit this action and turn on the following toggles: Store the IP address and other request headers and Keep form records that have not passed spam or captcha protection. In the given case, we did not activate these toggles.

save-form record toggles

The tutorial How to Use Save Form Record Action And Manage Form Submissions explains how to manage the “Save Form Record” actions.

Press the “Publish” button to save the form.

Add the Form to a Page

Create a page in Elementor/Block Editor/Bricks. In the given case, we created the page in Elementor.

Find the JetForm widget/block/element and drag and drop it onto the page. 
Once you are through with the page editing, press the “Update” button to save the result.

save-form record toggles

Navigate to the front end to check if the form works correctly. 

Fill in the form and press the “Submit” button.

front-end view of the jetform widget

Also, check the Displaying a JetFormBuilder Form in Any Page Builder tutorial.

Collect and Process Form’s Data

Navigate to the WordPress Dashboard > JetFormBuilder > Form Records tab to see all collected form entries. 
Hover the cursor over the needed form and press the “View” link under the form’s title.

jetformbuilder form records tab

The form record displays all collected data, including a link to the uploaded file.

form record data

Follow the link to see the file uploaded with this form. To check all collected uploaded files via the developed form, navigate to the JetFormBuilder folder (wordpress/htdocs/wp-content/uploads/jet-form-builder) on the PC where your WordPress is installed.


That’s all about creating file upload forms and storage attachments in different ways on your WordPress website using the JetFormBuilder plugin.

Job application forms on WordPress sites are vital for a streamlined hiring process. They help collect necessary applicant information, such as contact details, qualifications, and experience. 

Using WordPress for these forms simplifies application collection and candidate management, which is especially beneficial for recruiting agencies, hiring websites, and businesses of all sizes.

With JetFormBuilder, you can create a job application form by implementing all the needed features.

Contents:

Why You Need a WordPress Job Application Form

The JetFormBuilder application forms help to collect job applications and detect potential employees directly on your website.

With a user-friendly form, you can not only attract more candidates but also organize the needed candidate information in one place for easy comparison and selection.

Top WordPress Job Application Form Features

  • Turn long application forms into multi-step and make them user-friendly;
  • Decide which form fields you want to make required;
  • Allow applicants to easily attach files to their applications. Set specific file types and sizes, adjust restrictions and verification options to ensure file security and maintain a clean database;
  • Implement the Conditional Visibility feature to make job application forms more dynamic. It allows form fields to be shown or hidden based on the applicant’s previous inputs;
  • Use reCAPTCHA v3 validation to protect the application form from spam and bot submissions. Keep the application pool relevant and manageable, saving time and resources in the recruitment process;
  • Provide the Success, Validation, and Error Messages during form submission;
  • Receive email notifications to the specified email address each time the form is submitted.

WordPress Job Application Form Structure

Step 1 — Personal Information

  • Name. A required Text Field for filling in the applicant’s name;
  • Surname. A required Text Field for filling in the applicant’s last name;
  • Email Address. A required Text Field of “Email” FIELD TYPE for filling in the applicant’s email;
  • Phone Number. A required Text Field of “Tel” FIELD TYPE for filling in the applicant’s phone number; 
  • LinkedIn Profile. A required Text Field for filling in the applicant’s LinkedIn profile; 
  • Next page. A Next Page block for proceeding to the next page;
  • Form Page Break. An indicator of the end of the first part of the form.

Step 2 — Experience

  • Fulfill Work Experience and Education Info. A required Radio Field with two options so the applicant can choose whether they want to upload a resume or complete the needed information manually;
  • Upload Resume. A required Media Field for the resume file uploading;
  • Job Title. A required Select Field for filling in the applicant’s previous job title;
  • Company Name. A required Text Field for filling in the company name of the applicant’s previous place of work;
  • Start Date. A required Date Field for filling in the start date of the applicant’s previous company;
  • End Date. A required Date Field for filling in the end date of the applicant’s previous company;
  • Responsibilities. A Textarea Field for filling in the applicant’s responsibilities;
  • Repeater. A Repeater Field if the applicant wants to add several places of work;
  • Previous page. A Prev Page block for going back to the previous page;
  • Next page. A Next Page block for proceeding to the next page;
  • Form Page Break. An indicator of the end of the second part of the form.

Step 3 — Education

  • Highest Degree. A required Select Field for filling in the applicant’s higher education degree;
  • Institution. A required Text Field for filling in the applicant’s institution of learning;
  • Field of Study. A required Text Field for filling in the applicant’s field of study;
  • Graduation Date. A Text Field for filling in the applicant’s graduation date;
  • Previous page. A Prev Page block for going back to the previous page;
  • Next page. A Next Page block for proceeding to the next page;
  • Form Page Break. An indicator of the end of the third part of the form.

Step 4 — Additional Information

  • Cover Letter. A Textarea Field for filling in the applicant’s cover letter;
  • Portfolio URL. A Text Field of “Url” FIELD TYPE for filling in the URL of the portfolio;
  • Additional Comments. A Textarea Field for filling in the applicant’s additional comments;
  • Previous page. A Prev Page block for going back to the previous page;
  • Save and complete. An Action Button block for completing the form.

How to Create a WordPress Custom Job Application Form

To create a WordPress online application form, navigate to WordPress Dashboard > JetFormBuilder > Add New

Type in the title of the form.

At first, the Welcome block is added to the form by default. Push the “Start from scratch” button to build a brand-new form.

welcome block in the form

The three blocks are now added to the page: the Hidden Field, the Text Field, and the Action Button.

We delete the Text Field and the Action Button, leaving only the Hidden Field on the page.

No alterations to the block are needed at this time. We will keep the settings default to save the “Current Post ID” to the Form Records page later.

hidden field

We begin the form with the “Personal information” Heading block. 

The style settings can be adjusted right in the block settings.

the first heading

The following block is a Spacer placed to create additional space between the fields.

the first spacer

Then, we add the Columns block and choose the two-column layout.

two columns layout

In the left column, we add the first Text Field

We set its LABEL to “Name,” and therefore, the FORM FIELD NAME is generated automatically based on the set LABEL — “name.” It can be optionally changed if needed.

We also make this field required by clicking the “asterisk” icon located above it in the horizontal settings panel.

the first text field

Right away, we work on the style settings. To make it possible, we installed and activated the free JetStyleManager plugin. 

Every style change is up to your preference.

the first text field style settings

In the right column, we place the Text Field indicating “Surname,” which is also set as required and has settings similar to those of the previous field.

the second text field

Adjust the style settings according to your preferences.

We add one more Spacer to create a gap between the previous and following fields.

Then, we add one more two-column layout with the help of the Columns block.

In the left column, we put the required Text Field with the “Email Address” Label.

This time, we change the FIELD TYPE from the default “Text” option to “Email.”

the third text field

Adjust the style settings according to your preferences.

In the right column, we put the following required Text Field with the “Phone Number” FIELD LABEL.

Its FIELD TYPE should be set to “Tel.”

the fourth text field

Adjust the style settings according to your preferences.

Then, we add one more Spacer and the Columns block with a two-column layout once again.

In the left column, we put the last Text Field of this form part, the required “LinkedIn Profile.” 

We change the FIELD TYPE to “Url” and leave other settings by default.

the fifth text field

Adjust the style settings according to your preferences.

We leave the right column of this two-column layout blank and add one more Columns block with the two-column layout below.

The left column is empty now, and in the right column, we put Spacer.

Below the Spacer, in the same column, we add the Next Page block. Since it will serve as the “Next” button, we complete the FIELD LABEL accordingly.

the first next page button

Adjust the style settings according to your preferences.

the first next page button style settings

Then, we add the Form Page Break block to finish this part of the form. Its settings remain default.

the first form page break

The first field of the second part of the form is the required Radio Field.

Its LABEL is set to “Fulfill Work Experience and Education Info,” the FORM FIELD LABEL is generated automatically, and the DEFAULT VALUE is set to “manually,” the option we will now add to the radio.

To add the options, push the “Manage items” button.

the radio field

In the opened pop-up, click the “Add new Option” button.

We add the first option, setting its LABEL to “Upload resume” and VALUE to “resume.”

Then, we add one more option by clicking the “Add new Option” button.

resume radio option

Another option has the “Manually” LABEL and “manually” VALUE.

Once all the options are set, push the “Update” button.

radio field manual options

Now, adjust the style settings according to your preferences.

the radio field style settings

We want to show different fields depending on the selected field in the previous Radio Field. So, we add the Conditional Block to the page. 

The first Conditional Block is for the “Resume” option. We click the “Add new” button that appears when hovering over the section in the Show current block field of the Conditional Block settings.

add new button for conditions

In the appeared pop-up, we define the “Show if…” option in the WHICH FUNCTION NEED EXECUTE? field, pick the “Fulfill Work Experience and Education Info” FIELD, set “Equal” OPERATOR, and complete the VALUE TO COMPARE field with the “resume” value.

Then, we hit the “Update” button.

conditions for resume option in the fulfill work experience field

Next, we add the required Media Field block. We leave the LABEL field empty and complete the FORM FIELD NAME with the “upload_resume” value.

Also, in the Field tab, you can set the needed USER ACCESS option. For instance, the “Any registered user” option allows uploading files for only the registered users correspondingly.

If enabled, the Insert attachment toggle will save the attachment to the Media Library.

The MAXIMUM ALLOWED FILES TO UPLOAD field allows you to define the maximum number of files the user can upload. If left empty, the uploading limit is set to one file. 

We set the MAXIMUM FILE SIZE MESSAGE to “Upload PDF or DOCX file up to %max_size%,” where the %max_size% value is the macro used to display the maximum allowed file size.

NOTE

If several files are allowed to be uploaded in the MAXIMUM ALLOWED FILES TO UPLOAD field, this field defines the maximum total size of all downloaded files, not each of them.

the media field settings

Adjust the style settings according to your preferences.

The first Conditional Block is now completed.

Now, we add one more Conditional Block; this time for the “Manually” answer selected in the previously added “Fulfill Work Experience and Education Info” Radio Field.

Once again, we click the “Add new” button to add a condition for the current block.

In the appeared pop-up, we define the “Show if…” option in the WHICH FUNCTION NEED EXECUTE? field, pick the “Fulfill Work Experience and Education Info” FIELD, set “Equal” OPERATOR, and complete the VALUE TO COMPARE field with the “manually” value this time.

conditions for manually option in the fulfill work experience field

The first block in this condition is the Spacer, which creates a space between the fields.

To begin a “Manually” part of the form, we add a Heading block, “Experience.”  

In this case, the style settings can be adjusted right in the block settings.

the second heading

The following block is the required Select Field. Its FIELD LABEL is set to “Job Title” and the FORM FIELD NAME to “job_title” accordingly.

In the Advanced tab, we set the PLACEHOLDER to the “Title of the position held.” Also, we activate the Disable placeholder feature, so the placeholder itself can not be picked as an option.

Click the “Manage options” button to add the options for selection.

the first select field

We add the following options: “QA,” “QA Lead,” “Developer,” “Designer,” “Tech Writer,” and “Motion designer.”

Once the options are set, push the “Update” button.

select field manual options

Adjust the style settings according to your preferences.

the first select field style settings

We place one more Spacer in the form.

Then, we add one more required Text Field with the “Company Name” FIELD LABEL.

the sixth text field

Adjust the style settings according to your preferences.

We place one more Spacer on the page.

Then, we add the Columns block with the two-column layout. In the left field, we place the required Date Field named “Start Date.”

the start date field

Adjust the style settings according to your preferences.

the start date field style settings

In the right column, we add one more required Date Field called “End Date.”

the end date field

Adjust the style settings according to your preferences.

Now, we put one more Spacer to create some space between blocks.

The next block we add is the “Responsibilities” Textarea Field block. Its settings are left default in the described case.

the first textarea field

Adjust the style settings according to your preferences.

the first textarea field style settings

We add a Spacer block to create an additional space between blocks.

Then, we add the Repeater Field so the applicant can later add several job positions held.

Leave the FIELD LABEL field empty and complete the FORM FIELD NAME with the “repeater” value.

In the MANAGE REPEATER ITEMS COUNT, we leave the “Manually” option so the user can add blocks by clicking the button. The ADD NEW ITEM LABEL is set to “+ Add new.”

Inside the Repeater, we put the same fields we put before, beginning from the “Job title” Select Field and ending with the “Responsibilities” Textarea Field.

repeater added

Adjust the style settings of all mentioned fields according to your preferences.

repeater button style settings

Then, we add one more Spacer to the form.

The following block is the Heading indicating the “Education” part of the form.  

In this case, the style settings can be adjusted right in the block settings.

the third heading

The next field is the required Select Field block called “Highest Degree.”

The PLACEHOLDER here is set to “The highest level of education attained by the applicant.” Also, we activate the Disable placeholder feature, so the placeholder can not be picked as an option.

Click the “Manage items” button to set the select options.

the second select field settings

You can add the necessary options by clicking the “Add new Option” button each time you need a new one.

Our options are: “No Degree,” “Bachelor’s Degree,” “Master’s Degree,” “PhD,” and “Other.”

Once all the options are added, press the “Update” button.

degree selector manual options

Adjust the style settings according to your preferences.

Then, we add one more Spacer to the block.

Inside the current Conditional Block, we add one more Conditional Block. This time, it will hide the following fields if the “No Degree” option is selected in the “Highest Degree” Select Field.

So, in the appeared conditions pop-up, we now define the “Hide if…” option in the WHICH FUNCTION NEED EXECUTE? field, pick the “Highest Degree” FIELD, set “Equal” OPERATOR, and complete the VALUE TO COMPARE field with the “no-degree” value this time.

Once done, we push the “Update” button.

hide if no degree condition

As the first block in this Conditional Block, we add a required Text Field, “Institution.”

the seventh text field

Adjust the style settings according to your preferences.

Then, we put one more Spacer on the page.

After that, we add one more required Text Field, “Field of study.”

the eighth text field

Adjust the style settings according to your preferences.

We add one more Spacer to the form.

Then, we add one more Date Field to the form. The FIELD LABEL is “Graduation Date,” and the FIELD DESCRIPTION is “Date of graduation or expected graduation.”

graduation date field

Adjust the style settings according to your preferences.

Outside of the Conditional Block, we add a Spacer.

After the Conditional Block, we create one more two-column layout with the help of the Columns block.

In the left column, we add the Prev Page block with the “Previous step” FIELD LABEL.

the first prev page button

Adjust the style settings according to your preferences.

the first prev page button style settings

In the right column, we put the Next Page block with the “Next” FIELD LABEL.

the second next page button

Adjust the style settings according to your preferences.

Now, we add one more Form Page Break block to indicate the end of the second part of the form.

the second form page break block

Then, we add one more Heading block, “Additional Information.”

In this case, the style settings can be adjusted in the block settings.

the fourth heading

Next, we add a Spacer block to the form.

The following field is the Textarea Field named “Cover Letter.”

the second textarea field

Adjust the style settings according to your preferences.

Now, let’s add one more Spacer.

The next field is a Text Field with the “Portfolio URL” FIELD LABEL.

the ninth text field

Adjust the style settings according to your preferences.

After that, we add one more Spacer.

Then, we add one more Textarea Field block called “Additional Comments.”

the third textarea field

Adjust the style settings according to your preferences.

We add one more Spacer to the form.

Then, we create one more two-column layout with the Columns block. 

In the left column, we put the Prev Page block with the “Previous step” FIELD LABEL.

the second prev page button

Adjust the style settings according to your preferences.

In the right column, we put the last block of the form, the Action Button block with the “Save and complete” FIELD LABEL.

submit button

Adjust the style settings according to your preferences.

submit button style settings

Now, let’s adjust the Post Submit Actions. To do so, open the JetForm tab of the settings and find the Post Submit Actions section.

Press the “New Action” button.

post submit actions tab

Select the “Save Form Record” action from the drop-down list. This action saves all form submissions on the Form Records Page.

You can customize the action by pressing the “pencil” button if needed. 

However, now, we leave the default settings.

save form record action

Now, we add one more action, “Send Email.” This action will send an email whenever the form is submitted.

Adjust the action settings by pressing the “pencil” button and completing the needed fields.

In our case, we want to get an email sent to the admin email once the form is submitted, so we adjust it accordingly.

Once done, press the “Update” button.

send email action settings

Whenever the form is ready, you can click the “Publish/Update” button to save the result.

Now, go to the page where you want to place the form. It can be a page built with either Gutenberg, Elementor, or Bricks page builders.

We will work in Gutenberg, but the settings in the mentioned builders are the same.

Find the JetForm block/widget/element and place it on the page.

Select the needed form in the CHOOSE FORM drop-down list, adjust the form settings if necessary, and press the “Publish/Update” button.

jetform block in gutenberg

Go to the front end of the just-edited page to check the result.

Now, the first part of the form is displayed.

Let’s complete it to check if the form works correctly.

Press the “Next” button whenever you complete the fields.

the first part of the form on the front end

Complete the second part of the form and press the “Next” button.

the second part of the form on the front end

Complete the third part of the form and press the “Save and complete” button.

If everything is fine, you will see the message of successful form completion.

the third part of the form on front end

Let’s see if the “Send Email” post submit action also works properly.

email received

Now, let’s check the WordPress Dashboard > JetFormBuilder > Form Records to see the new form submission.

Here it is, in the list. Click on the “View” button that appears once you hover over the item to check the details.

form records page

You can now see the details of the applicant’s form submission.

That’s all; now you know how to build a job application form using the JetFormBuilder plugin for WordPress.

WordPress Job Application Form Pro Features

The tutorial details creating a user-friendly, functional, and conversion-making T-shirt order form using the JetFormBuilder plugin for WordPress. It covers managing specific form fields, adding integrations with payment and marketing plugins and add-ons through Post Submit Actions, and optimizing orders for your business or event.

Contents:

Why You Need a WordPress T-Shirt Order Form

The T-shirt order form is the last stage of the sales funnel and a huge marketing tool, which:

  • Collects fully personalized data on users and their preferences;
  • Collects users’ emails for further marketing communications (i.e., for mailing propositions on sales or post-sales communications);
  • Contributes to conversions by addressing the issue of users exiting the forms at the last step;
  • Generates leads;
  • Makes your site more user-friendly and thus increases the probability of further orders;
  • Makes purchases easy and orders proceed quickly and safely by seamlessly integrating with payment systems and providing the needed security means.

Top WordPress T-Shirt Form Features

Order forms are a necessary site element and the last step between clients and their orders. Therefore, they should be user-friendly (intuitive, discreet, and simple), functional (provide payments and seamless integration with plugins and add-ons), and effective (provide conversions and collect the necessary marketing data on users and their orders).

  • Develop a clear structure of a multi-step form with a logical sequence of only needed fields divided by breaks;
  • Specify the required and not form fields;
  • Provide safety identification, verification, and validation (i.e., reCAPTCHA v3) of the user-associated actions (i.e., auto-filling of fields after user registration); 
  • Collect and proceed with the order data via one dashboard;
  • Integrate with email marketing services, including Mailсhimp, GetResponse, Active Campaign, Zapier, Make, etc.

Generally, the JetFormBuilder plugin provides the following:

  • Variety of combinable tools: users can use JetFormBuilder’s block fields and patterns separately, generate forms via AI, or combine all three; 
  • Post Submit Actions automatize order being processed, i.e., redirect to pages, save data in the database, send emails, etc.;
  • Seamless integration with JetPlugins, WooCommerce, and email marketing services (i.e., ActiveCampaign, GetResponse, Mailсhimp, Zapier, and Make);
  • Form style customizations using the free JetStyleManager plugin;
  • Safe payments and storage of user’s data;
  • Different verification and validation methods;
  • Identification of users and pre-filling the form fields with the saved data;
  • Multiple PRO add-ons for additional tasks such as hierarchical selection, user login, advanced color picking, field autocompleting, saving form progress and form scheduling, payments, and more.

T-Shirt Order Form Typical Structure

Step 1 一 Order data

This step includes fields for uploading images for printing on the T-shirt(s) and selecting the T-shirt sizes, colors, and quantities. It contains such blocks:

  • Progress Bar block to specify the start of the form proceeding;
  • Number Field to input the number of needed T-shirts;
  • Repeater Field with the nested fields: 
    • Media Field for uploading an image for printing on the T-shirt, 
    • Advanced Choice Fields for selecting the size and colors available;
  • Calculated Field to calculate the approximate price;
  • Form Page Break to divide the form into steps;
  • Next” button to navigate to the next page.

Step 2 一 Contact data

This step includes the fields to store users’ data. It comprises such blocks:

  • Progress Bar block to specify the next stage of the form proceeding;
  • Text Fields to store users’ contact data;
  • Form Page Break field to allow navigation to the next and previous pages.

Step 3 一 Delivery data

Felds for address and delivery method data. It contains such blocks:

  • Progress Bar block to specify the next stage of the form proceeding;
  • Text Fields to store the delivery settings;
  • Action” button to submit the form.

How to Create a WordPress Custom T-Shirt Form

In the given case, we explain how to build a multi-step form for ordering the needed number of T-shirts with a printed user’s image. Additionally, users can select the required color and size of the T-shirts. Due to this, pricing issues relating to printing are not considered.

Create a multi-step form

Navigate to the WordPress Dashboard > JetFormBuilder > Forms tab and press the “Add New” button to create a new form.

The created form has the Welcome block, allowing the application of a pre-created form. In the given case, we make the form from the beginning, so press the “Start from scratch” button.

jetform initial page

The Hidden Field, Text Field, and Action Button blocks are added by default; therefore, you can delete them if they are not needed in your form. Add the form’s title.
Find the Progress Bar block and add it to the page.

jetformbuilder progress bar block

To divide the form into pages on the front end and display the progress on each page, navigate to the JetForm settings and activate the Enable form pages progress toggle.

progress bar block settings

Drag and drop the Number Field to allow users to type the desired quantity of T-shirts.

Navigate to the settings block and type the name in the FORM FIELD NAME field (e.g., “t_shirt_number”) and optionally type the FIELD LABEL (e.g., “Enter the number of T-shirts”).

NOTE

The FORM FIELD NAME should contain only Latin letters in lowercase, numbers, hyphens, and underscores. Spaces are inapplicable, so if you want to write two words or more, divide them with hyphens or underscores.

jetformbuilder numerical field

Add the Repeater Field and nested fields

Then, find the Repeater Field and drag and drop it to the page.

Navigate to the settings block, enter the FORM FIELD NAME (e.g., order_data), and select the following:

jetformbuilder repeater field
  • Select the “Dynamically (get count from form field)” option from the MANAGE REPEATER ITEMS COUNT field;
  • Choose the name of the previously added Number Field (here, t_shirt_number) in the FIELD ITEMS COUNT drop-down list;
  • Select the Default (columns row count) option from the CALCULATE REPEATER ROW VALUE drop-down list.

Press the “+” icon to add the Columns block into the Repeater Field

columns block

Here, we divided the form into two columns and added the following nested fields into the Repeater Field:

  •  the Media Field to upload an image for printing with the entered FIELD LABEL (e.g., “Upload the image for printing”) and FORM FIELD NAME (e.g., “image_for_printing”);
media field block
  • the Checkbox Field to select the needed size of the T-shirt. Find the Checkbox Field block and drag and drop it to the page. Fill in the FIELD LABEL field (e.g., “sizes available”) and the FORM FIELD NAME field (e.g., “sizes_available”). The “Manual Input” option is selected by default in the FILL OPTIONS FROM drop-down menu.
checkbox field added to the page

Press the “Manage items” button to open the Edit Manual Options pop-up to adjust the checkbox options and hit the “Add new Option” button.

edit manual options popup of the checkbox field settings

By clicking the button, you can add as many choice options to the Checkbox Field as needed. The settings include the LABEL field, which should be filled in with data displayed on the form as a list of variants (i.e., XS, S, L, etc.); the VALUE field, which should be filled in with inner data that corresponds to the option; and the CALCULATE field, which can be used in formulas.

For this tutorial, we used the same price for all sizes, so we left the VALUE and CALCULATE fields blank.
To add new options to the checkbox list, scroll down the Edit Manual Options pop-up and press the “Update” button.

adding new options to the checkbox
  • the Radio Field to select the print area. The settings of this field are similar to those of the Checkbox Field block. In the given case, we added four variants to allow users to select the appropriate print area. Therefore, the only difference is adding the values into the VALUE fields of every item from the list.
radio field block settings
  • the Advanced Choice Field to select the T-shirt color. Select the needed layout and type the field’s name (e.g., select color available). We selected the “Images with controls” layout option and filled in the FIELD LABEL and FORM FIELD NAME fields.
advanced choice field block

Due to the printing technology, we selected the colors of the covers, controls, and texts and added the specific VALUE FOR CALCULATED FIELD for each T-shirt color.

advanced choice field

Calculated Fields

To calculate the approximated price for every T-shirt, we added the Calculated Field into the Repeater Field. Inside the Repeater Field, the Calculated Field defines the cost of printing for every T-shirt, and outside the Repeater Field, another Calculated Field defines the total costs.

The Calculated Field inside the Repeater Field summarizes the values from the selected fields; partially, it adds the options referring to the print area (Radio Field), T-shirt color (Advanced Choice Field), and the regular T-shirt price (here, USD 10). The calculation formula here is as follows: %FIELD::print_area%+10+%FIELD::%select_color_available%.


The Calculated Field outside the Repeater Field summarizes the values for each row from the Repeater Field and defines the total cost of the order. The calculation formula here is as follows: %FIELD::%order_data%, where the order_data is the Repeater Field’s name.

calculated field settings

Separating the form pages

Add the Form Page Break field to separate the pages. Navigate to the block settings and activate the Enable “Next” button toggle to add the appropriate button to the form. Type the title of the form step in the LABEL OF PROGRESS field (e.g., Order Data). This text will be displayed via the PROGRESS BAR as the title of the form proceeding stage.

form page break block

Add fields for contact data

For the second page of the form, we added the Progress Bar block to display progress, the Heading field to display the step name (e.g., Contact Data), Columns to display text inline, Text Fields to input the users’ contact data (name, email, and phone), and the Form Page Break field to allow navigation to the previous page.
Specify the Text Field types: navigate to the Block settings, unroll the FIELD TYPE drop-down menu, and select the “Email” option for the “Email” Text Field and the “Tel” option for the “Phone” Text Field.

text field settings

For the Form Page Break, we enabled the Add “Next” Button and Add Prev Page Button toggles to allow users to amend the entered data. We left blank the NEXT BUTTON LABEL and PREV PAGE BUTTON LABEL to display the default texts, but users can add any needed text. Then, we typed the text into the LABEL OF PROGRESS field (here, “Contact Date”) to display the form progress stage.

form page break settings

Add fields for delivery data

The last page contains data on the delivery method and payment. The page includes the Progress Bar block, Heading, Text Fields, Radio Fields, “Action” button, and Form Page Break block to submit the form.
The Progress Bar displays the current form proceeding stage, the Heading displays the page’s name (e.g., “Payment Data”), and the Text Field is intended to display the client’s address. As far as we did not limit the client’s location, we did not specify the min and max length of the field.

text address field settings

We added the Column block to display the Radio Fields and divided the form into two equal columns. We added the Radio Fields to each column. The first Radio Field is intended to select the preferred delivery method (e.g., pick up, courier, or send to a post office), and the second Radio Field allows the selection of the payment method. The settings of the Radio Fields are similar to the Checkboxes Field settings described above.

column block added

Add the Form Page Break block and enable the Add Prev Page Button to allow users to modify the entered data. Then, we typed the text into the LABEL OF PROGRESS field (here, Delivery Data) to display the form progress stage.

Post Submit Actions

Go to JetForm, unroll the Post Submit Actions tab, and select the needed action from the drop-down list. Here, we selected the “Send Email” option to notify the user about the order.

send email option of the post submit actions

Select the “Email from submitted field option” from the MAIL TO field and pick the name of the email form field from the FROM FIELD source to send the notification to the email the user will enter in this field.

If needed, scroll down the pop-up and fill in the following fields:

  • SUBJECT to add the email subject;
  • FROM EMAIL ADDRESS to add the email address from which the users will get the notifications;
  • select the “Plain text” option from the CONTENT TYPE drop-down list;
  • type the email text in the CONTENT field.
edit send email pop-up

Press the “Update” button to save the action settings.
Add another Post Submit Action; select the “Save Form Record” option from the drop-down list to allow storage and managing of all orders.

save form record option

After completing, publish or update the form.

NOTE

The JetFormBuilder’s PRO add-ons allow users to log in using the provided email/login and password. They can help to autocomplete the form’s fields, save the form’s progress, provide payment options, integrate email marketing and CRM services, etc.

Add the form to a page

Open a page/post/CPT post/template you need and place the JetForm widget (in Elementor), JetForm block (in Block Editor), or JetForm element (in Bricks). Select the built T-shirt order form in the Choose Form drop-down list. Learn about other settings from the JetForm Overview.

jetformbuilder widget added

Publish or update the page.

Order form in action

Open the page with the order form on the front end. Complete the form to check if it works correctly.

jetformbuilder widget added

Scroll down the first form’s page and fill in all the fields.

the front end of the scrolled form

Move to another page of the form and fill in the fields as well.

the next page of the multi-step form on the front end

Fill in the fields on the last page and hit the “Submit” button.

the last page of the multi-step form on the front end

After successful submission, the “Form successfully submitted” message will appear.

the form successfully submitted message

The form has sent a notification to the email user entered into the email form field with the predefined text:

form successfully submitted email

Navigate to the WordPress Dashboard > JetFormBuilder > Form Records tab. This tab collects all submitted form data.

jetformbuilder form records tab

Click the “View” link under the form title (under the “Order Form” in our case) to unroll the recently submitted form and check the values from the submitted fields.

submitted form datab

That’s all about creating a T-shirt order form using the JetFormBuilder plugin for WordPress and managing the form’s specific fields and Post Submit Actions.

WordPress T-Shirt Order Form Pro Features

Build a lead-capture form that will gather information about the website users in exchange for great deals like some valuable information or discount offers.

Contents:

Why You Need a WordPress Lead-Capture Form

Lead-capture form is a versatile tool for gathering data on your WordPress website. Such forms can collect information through simple form fields or surveys. The data collected can be used for sending promotional offers and understanding your audience’s needs better.

Having a lead-capture form on the WordPress website will help you get needed responses and keep users engaged if they find the content in return valuable. For instance, after completing the form, the user will receive a unique discount code or access to useful educational materials. 

The type of services you offer determines how you can use the lead-capture form on your WordPress site. For instance, let’s look through several possible cases:

  • Web development agency. Create the marketing-qualified lead form with relevant questions. For example, ask about the budget allocated for website development to quickly identify whether a potential client meets your criteria.
  • E-commerce. Build a “Limited Offer” form or one-click purchase form with no registration required.
  • Small business. Adjust the multi-step questionnaire with the demo product bonus that serves as a lead qualification and reveals the user’s motivation thanks to clarifying questions.

Top WordPress Lead-Capture Form Features

  • Add and customize necessary fields to make the form engaging;
  • Create a user-friendly form with multiple steps;
  • Decide which form fields you want to make Required;
  • Implement conditional logic to dynamically display or hide form fields;
  • Use reCAPTCHA v3 validation to protect the application form from spam;
  • Adjust email notifications and fill them with tempting offers;
  • Save the received form submissions into one convenient dashboard list;
  • Create a desired design of the form in the Block Builder, Elementor, or Bricks;
  • Integrate the form with email marketing services like Mailсhimp, GetResponse, Active Campaign, Zapier, Make, etc.

WordPress Form Pattern Structure

Step 1 — User information

  • Progress Bar. A field to begin a multi-step form creation process;
  • First Name and Last Name. Required Text fields to find out the user’s name;
  • E-mail. A Text field with the “Email” FIELD TYPE to get the email where the offer will be sent;
  • Phone Number. A Text field with the “Tel” FIELD TYPE in case you need the user’s phone number. For instance, to set the SMS marketing;
  • “Next” button. A Form Page Break field that will serve as the “Next” button. It also lets changing the first step of the progress bar.

Step 2 — Introductory questions

  • Progress Bar. One more Progress Bar for the second part of the form;
  • Radio Field with a question. A field with the “Have you already used our services?” question and “Yes” and “No” answers to implement the Conditional Logic based on the given answer;
  • Conditional Logic. A block for the “Yes” answer given in the previously added Radio Field, which contains the Textarea Field with the corresponding question;
  • Conditional Logic. A block for the “No” answer with the corresponding Textarea Field inside;
  • “Next” button. A button to move to the next part of the form.

Step 3 — Final part of the questionnaire

  • Progress Bar. A step indicator of the last part of the form;
  • Questions Part. Any desired fields like Radio, Checkbox, Textarea, etc., to get the needed information;
  • “Terms and Conditions” Field. A Checkbox Field with the link to the “Terms and Conditions” page, which is vital in order to provide a personal data consent agreement;
  • “Submit” button. A button that will send the submitted form;
  • Final Form Page Break. The last step is the name of the Progress Bar.

How to Create a Custom WordPress Lead-Capture Form

Head to WordPress Dashboard > JetFormBuilder > Add New

Initially, the form includes the Welcome Block with form patterns. As we don’t need them now, we press the “Start from scratch” button to build our own form.

welcome block in the form

Here, you will see that some blocks are added to the form by default. These are the Hidden Field, Text Field, and Action Button blocks, which can be deleted if you don’t need them to be in the current form.

empty form

To add another content to the lead-capture form, you can use Gutenberg blocks. Open their list by pressing the plus-shaped button and type in the needed block name to find it easily.

block inserter

The form we give in this tutorial is an example of the lead-capture form that you can recreate on your website or build your own form that will be more suitable for your needs.

We begin with the Progress Bar block that will make a start to our multi-step lead-capture form. It will give users an understanding of how quickly this form can be completed.

It doesn’t have any settings, so we move on to the next field.

progress bar

We begin building our form with the Columns block to make the two columns layout with fields inside.

There, we place two Text Fields indicating the “First Name” and “Last Name” fields.

name and last name text fields

One more row of two columns containing two fields will represent the “E-mail” and “Phone Number” fields.

For the “E-mail” field, we set the “Email” FIELD TYPE, and for the “Phone Number” field, we set the “Tel” FIELD TYPE accordingly.

For the phone number field, we also set the INPUT MASK.

email and phone number text fields

To finalize the first form page, we add the Form Page Break block.

Also, we change the LABEL OF PROGRESS that will be displayed as the first step of the Progress bar.

form page break for the first part of the form

In the second part of the form, we begin with the Progress Bar block as well.

progress bar for the second part of the form

The first form field we add to the second part is the Radio Field with the “Have you used our services before?” FIELD LABEL.

This field is also set to be obligatory.

In the FILL OPTIONS FROM selector, we pick the “Manual Input” option and click the “Manage items” button.

have you used our services radio field

Once the editing pop-up opens, we push the “Add new Option” button to create radio options manually.

add new option in the edit manual options pop-up

We build two options: one has the “Yes” LABEL and the “yes_answer” VALUE, and the other has the “No” LABEL and the “no_answer” VALUE correspondingly. 

To save the options, we press the “Update” button.

have you used our services options

The following logic we want to implement is different Textarea Fields displayed depending on the selected option in the previous “Have you used our services before?” Radio Field.

It can be done with the help of the Conditional Block, so we add it to the page.

conditional block for yes answer option

Right in the Conditional Block, we place the Textarea Field block named “Please, tell us more about your experience.” and set this field to be required.

your experience textarea field

Then, we return to the Conditional Block customization. In the Conditions tab, we click the “Add new” button in the corresponding window.

your experience field conditions

In the first WHICH FUNCTION NEED EXECUTE? selector, we pick the “Show if…” option.

As the FIELD value, we set the “Have you used our services before?” Radio Field we built previously.

The OPERATOR should be set to “Equal” and VALUE TO COMPARE to “yes_answer.”

That’s it with adjusting this Conditional Block, so we press the “Update” button.

conditional logic pop-up for yes answer

Then, we add one more Conditional Block, this time for the “No” option of the “Have you used our services before?” Radio Field.

Once added, we also put the Textarea Field inside the Conditional Block.

Its LABEL is set as “Why? Are you considering using our services later?” and the field itself is set to be required.

why textarea field in the conditional block

Now, we return to the Conditional Block settings to adjust conditions, as in the previous case, in the conditions pop-up.

In the WHICH FUNCTION NEED EXECUTE? selector, we pick the “Show if…” option.

Here, as the FIELD value, we also set the “Have you used our services before?” Radio Field.

Then, we pick the “Equal” OPERATOR and “no_answer” as VALUE TO COMPARE.

To save the conditions, we push the “Update” button.

conditional logic pop-up for no answer

To finalize the form page, we add the Form Page Break field and set its LABEL OF PROGRESS to “Travel Experience.”

the second page form page break

The final part of the form will also begin with the Progress Bar block.

progress bar for the third part of the form

Now, we add one more Radio Field block to the form called “Do you like our website?”, set it to be required, and pick the “Manual input” option as FILL OPTIONS FROM.

To edit radio options, we press the “Manage options” button.

do you like our website radio field

We add two options, with “Yes” and “No” LABELS, but this time, VALUES will be set to “yes_website” and “no_website” accordingly (as the VALUE field should include only unique identifiers and we already have “yes_answer” and “no_answer” VALUES used.)

Don’t forget to click “Update” so the changes are saved.

do you like our website radio options

Now, we will implement one more conditional logic depending on the selected option in the “Do you like our website?” Radio Field.

So, we add a Conditional Block to the page and place the Checkbox Field inside it.

This field is obligatory; it is called “What do you like about our website?” and has the “Manual Input” FILL OPTIONS FROM option selected.

To edit the checkbox options, we push the “Manage options” button.

what do you like about the website checkbox

In the Edit Manual Options pop-up window, we complete the needed options and press the “Update” button.

what do you like checkbox options
NOTE

You can also click the Enable custom options option in the additional settings section of the field. This way, the user will be able to add their own options to the checkbox list.

enable custom options feature

Inside the current Conditional Block field, we also place the “If possible, please provide additional details.” Textarea Field.

additional details textarea field

Then, we return to the Conditional Block field settings to adjust the conditions.

The WHICH FUNCTION NEED EXECUTE? field is completed with the “Show if…” option.

The FIELD is now set to the “Do you like our website?” option, which is the LABEL of our Checkbox Field block.

The OPERATOR is “Equal,” and the VALUE TO COMPARE is “yes_website,” which was attached earlier to the “Yes” option VALUE of the Checkbox Field block.

The conditions should then be activated with the “Update” button.

conditional logic pop-up for yes answer about website

Now, we add one more Conditional Block to our form for the “No” option of the Checkbox Field.

Inside, we place the Textarea Field block, which is obligatory for the completion and is called “Sorry to hear that 🙁 Please, tell us more about your experience.”

tell us more textarea field

In the conditions settings of this Conditional Block, we set almost the same options as in the previous Conditional Block field: “Show if…” in the WHICH FUNCTION NEED EXECUTE? field, “Equal” in the OPERATOR field, and the “no_website” VALUE TO COMPARE as it is the VALUE of the “No” option Checkbox Field block.

Now, we click the “Update” button.

conditional logic pop-up for no answer about website

The following Checkbox Field block will be put outside the Conditional Block.

This field will aim to provide the “Terms and Conditions” document to the users who complete the form so they can read the information and agree if applied.

So, the “Manual Input” should be picked in the FILL OPTIONS FROM field. Once done, click the “Manage options” button to open the pop-up with editing fields.

terms agreement checkbox field

The LABEL of the only option in our case will be set to “Please check the box to indicate your agreement with our <a href=”https://crocoblock.com/terms/” target=”_blank” >terms and conditions</a> before submitting the form. ”

So, in the middle of the label, we put the following piece of code that will turn the needed part of the text into the link:

<a href=”https://crocoblock.com/terms/”>terms and conditions</a>

Here, “https://crocoblock.com/terms/” is the website page with the terms of use, and “terms and conditions” is the text that will contain the link.

We also set the VALUE to a shorter version of the field LABEL and hit the “Update” option.

terms checkbox option

The following “Is it okay if we share your feedback on our website?” RADIO FIELD with the “Manual Input” source (the FILL OPTIONS FROM field) will be required.

After the “Manage items” button is clicked, we create two options with the “Yes” and “No” options with the “yes_feedback” and “no_feedback” VALUES correspondingly.

After completing the needed options, we push the “Update” button.

share feedback radio options

The next block is the Action Button, the one that will end the form completion.

In the button settings, we change the FIELD LABEL to “Get Discount.”

get discount action button

The final block of the form is another Form Page Break field that is added to change the last page of the form Progress Bar.

So, we deactivate the Enable “Next” Button toggle and type in the “Website Experience” in the LABEL OF PROGRESS field.

the last form page break field

That’s all with the form fields. Now, we move to the Post Submit Actions tab to adjust the action once the form is submitted.

The first action we set is “Send Email.” We click the pencil-shaped button to edit the settings.

pencil-shaped button next to post submit action

In the pop-up, we select the “Email from submitted form field” MAIL TO option and pick the “Email” field as the FROM FIELD source.

mail to and from field

We also specify the SUBJECT, FROM NAME, and FROM EMAIL ADDRESS values.

subject from name and from email

The CONTENT TYPE is set to “Plain Text,” and CONTENT is filled in with the following text:

“Hi, %first_name%!

Your discount is here:

DISCOUNT10

Balirento.”

To save the action settings, we push the “Update” button.

content type and content fields

The following action is going to be “Save Form Record,” which will save the data about the completed fields in the Form Records directory of JetFormBuilder.

We will not alter settings in the pop-up; the default ones are okay in the described case.

save form record action

Now, move to the page you want to add the form to. For instance, it can be the landing page of your website.

So we can find it in the WordPress Dashboard > Pages directory and press the “Edit” button next to the needed option. Or, build a new page with the “Add New” button.

The page can be edited with Gutenberg, Elementor, or Bricks.

Once the editor is opened, find the JetForm block/widget/element in the search bar and add it to the page.

Open the JetForm settings. Initially, select the needed form in the CHOOSE FORM selector.

Work on the following settings depending on your needs, and when the page is ready, press the “Publish/Update” button.

jetform block in elementor

Proceed to the just edited page on the front end. Now, let’s complete the form to check if the form works correctly.

the first part of the form

In the second part of the form, we see only one Radio Field. But, if we select one of the options, additional fields that we have put earlier in the Conditional Block will be shown.

If the “Yes” option is selected, the “Please, tell us more about your experience.” Textarea Field is displayed.

the yes answer in the second part of the form

But if the “No” option is selected, the “Why? Are you considering using our services later?” Textarea Field is displayed.

the no answer in the second part of the form

In the “Do you like our website?” Radio Field, there are also two options that can be selected to trigger the appropriate fields.

If the “Yes” option is selected, the “What do you like about our website?” Checkbox Field and “If possible, please provide additional details.” Textarea Field are displayed.

Also, in the “What do you like about our website?” Checkbox Field, users can add custom options if desired by pushing the “Add New” button.

the yes answer in the third part of the form

And if the “No” option is selected, the “Sorry to hear that 🙁 Please, tell us more about your experience.” Textarea Field is displayed.

The following Checkbox Field includes the terms and conditions link added.

The user will be redirected to the “Terms of Use” page if they click on the button. This page will be opened in a new tab.

Also, there is the last “Is it okay if we share your feedback on our website?” Radio Field and the “Get Discount” button.

So, once we click on the button, the form is submitted.

the last part of the form

It’s time to check the email we have entered in the first part of the form. The letter with the discount has already been sent there.

As we can see, it says:

“Hi, John!

Your discount is here:

DISCOUNT10

Balirento.”

Here, instead of the %first_name% macro we put in the CONTENT field, there is actually the name displayed, the one that was completed earlier in the “First Name” Field.

discount email

Now, let’s check if the second “Save Form Record” Post Submit Action has also worked. 

Go to WordPress Dashboard > FormBuilder > Form Records.

NOTE

You can export the form records in CSV if needed by pressing the according button on the top of the page.

In the list of records, find the recently added record. Click the “View” button to check if all the needed information has been collected.

jetformbuilder form records dashboard

Here, we can see the data we recently entered in the form.

NOTE

You can export the current form record separately as well in the Actions tab.

form record page

That’s all; now you know how to build a high-performance lead-capture form on your WordPress website with the JetFormBuilder plugin.

WordPress Lead-Capture Form Pro Features

With the Open AI integration, you can generate complex forms with various field types with a few clicks instead of adding every field manually. After that, you just need to tweak the field settings and configure other form options, such as post-submit actions, style settings, etc.

Contents:

General Settings

To generate a new form with AI, proceed to the WordPress Dashboard > JetFormBuilder > Forms tab and hit the “Generate with AI” button.

generate forms with Open AI

Or you can proceed to the WordPress Dashboard > JetFormBuilder > Add New tab. Here, you can push “Generate Form with AI” from the header toolbar or the “Generate via AI” button from the Welcome block.

generate via AI

These buttons trigger a pop-up with the AI generator:

generate form with AI pop-up

Currently, you can make 10 (ten) requests per month.

In the text area, you can describe what form you want to create (e.g., “Simple contact form”). 

Also, you can find tips for successful prompt writing (start with the main purpose, describe the specific fields, and use the English language for prompts) and prompt examples.

After you enter a prompt into the text area, the “Generate” button will appear.

generate a simple contact form with AI

After clicking the “Generate” button, the pop-up will show the form fields preview. 

For the “Simple contact form” request, Open AI generated three simple fields for the name, email, and message, and the “Submit” button.

If you are satisfied with the result, you can press the “Use this form/Create form with this template” button. If you are not, you can tap the “Change generation prompt” button and rewrite the request.

fields preview of the form created with the Open AI generator

We hit the “Change generation prompt” button and expanded the prompt. In the request, the form fields and the Action Button can be described, so we typed this prompt: “Contact form with name, email, subject, message, phone number, company name, website, and address fields with the “Send Email” action button.”

NOTE

It’s advisable to mention all required fields in the prompt to avoid overlooking some in the final result.

NOTE

Be aware that AI can only generate the form fields and action buttons. You cannot set the post-submit actions, advanced form validation, and other settings here.

prompt for the contact form

In the new preview, Open AI generated all the mentioned fields and the Action Button with the “Send Email” label.

form fields preview with the expanded AI prompt

After hitting the “Use this form” button, you’ll obtain two options: “replace” or “append” form settings and blocks. Pick the preferable one.

replace or append form settings and blocks

We chose the “replace” option, so the form fields and the Action Button replaced the Welcome block.

new blocks and actions have been added

Be aware that certain fields have the “Required” option activated. You can modify this and other settings individually for each form field block.

required form field

If you generate a form from the JetFormBuilder > Forms tab, the written prompt will be inserted into the form title.

AI prompt in the form title

Registration Form Generated with AI

To generate a simple “Registration” form, we opened the Generate Form with AI pop-up, clicked the “Registration form with minimum inputs” prompt example, and hit the “Generate” button.

registration form with minimum inputs

The Open AI generated three basic fields for the name, email, and password, and the “Submit” button.

registration form fields generated with open AI

After clicking the “Use this form” button, the fields and the action button were inserted into the form editing page.

registration form fields

Opt-in Form Generated with AI

To generate an “Opt-in” form with the specific Radio Field, we opened the Generate Form with AI pop-up, clicked the “Opt-in form with gender selector like radio” prompt example, and hit the “Generate” button.

opt-in form with gender selector like radio

The Open AI generated the “Name” and “Email” Text Fields, the “Gender” Radio Field with the “Male,” “Female,” and “Other” options, and the “Submit” button.

opt-in form fields generated with open AI

After clicking the “Use this form” button, the fields and the action button were inserted into the form editing page.

opt-in form fields

Quiz Form Generated with AI

To generate a Quiz form, we opened the Generate Form with AI pop-up, clicked the “Quiz form with 5 questions with choices about math” prompt example, and hit the “Generate” button.

quiz form with 5 questions with choices about math

The Open AI generated five Radio Fields with math questions, four options for each of them, and the “Submit” button.

quiz form fields generated with open AI

After clicking the “Use this form” button, the fields and the action button were inserted into the form editing page.

quiz form fields

Job Application Form Generated with AI

We proceeded to the WordPress Dashboard > JetFormBuilder > Forms tab, hit the “Generate with AI” button, and opened the Generate Form with AI pop-up.

We typed the “complex form for a job application” prompt into the text area and hit the “Generate” button.

complex form for a job application

We got the name, email, phone number, resume, cover letter, position, years of experience, highest education, and references fields generated.

job application form fields generated with open AI

We hit the “Create form with this template/Use this form” button and inserted the fields into the form editing page.

job application form fields

Let’s check the form field settings. 

The “Name,” “Email,” and “Phone” Text Field blocks have different FIELD TYPES: “Text,” “Email,” and “Tel,” accordingly.

email field type

The “Resume” is the Media Field block. In the ALLOW MIME TYPES field, the AI generator pulled the “application/pdf,” “application/msword,” and “application/vnd.openxmlformats-officedocument.wordprocessingml.document” options that are MIME types for the PDF, DOC, and DOCX formats, which are usually used for resumes. The MIME types can be modified according to the preferences.

media field to download resume

The “Position” is the Select Field with the “Manual Input” option set in the FILL OPTIONS FROM drop-down menu.

job position select field

If we hit the “Manage Items” button, we will see three options: “Developer,” “Designer,” and “Manager.” Learn how to add new options from different sources from the Multi-Optional Field Source Settings tutorial or write a more precise prompt with specified options or purpose for such a field.

manual options in the select field

The “Cover Letter” and “References” are the Textarea Fields, and the “Years of Experience” is the Number Field, and they don’t have any specific settings.

Any blocks can be added and modified according to the form’s purposes.

To complete the form, other settings should be set, like the post-submit actions, and the form can be published and placed on the page.

That’s all. Now you know how to generate forms with Open AI and the JetFormBuilder WordPress plugin.

To display Google Maps, Leaflet Maps, or Mapbox via the Map block field of the JetFormBuilder plugin, install and activate the JetEngine plugin (at least 3.0.3 or higher versions) and enable its Map Listing Module.This tutorial explains how to display Google Maps.

For additional information, read the following tutorial: Using Different Maps and Geocoding Providers for Map Listings.

Getting an API Key

Getting an API Key is necessary for all map providers.

Navigate to the Google Cloud Platform Console. Register or log in to your account.

Fill in the appropriate fields of the Account Information and Payment Information Verification windows.

Navigate to the APIs & Services tab of Google Cloud Platform Console and press the “Create Project” button. Scroll down, select the Maps Javascript API (and other necessary services), and press the “Enable” button.

google maps platform dashboard

Navigate to the Keys & Credentials tab and press the “SHOW KEY” button to get the API key.

ggoogle maps platform api and credentials

Copy the data from the Your API Key field.

getting google maps api key

JetEngine Settings

Navigate to the WordPress Dashboard. Open the JetEngine > JetEngine > Maps Settings tab. Paste the copied API Key into the API Key field.

etengine maps settings

Map Field Usage

Navigate to the JetFormBuilder tab and create a form.

Open the form and add the necessary fields.

Find the Map Field block and drag-n-drop it onto the form. Unroll the VALUE FORMAT settings and type/paste the coordinates that define the center of the map.

jetformbuilder map field settings

Unroll the ZOOM settings and select the necessary zoom option.

Zoom settings determine how much the map will zoom in after the user specifies a location (via coordinates, address, or point on the map), which is then used as the center of the map. The zoom settings range from “1” to “18,” with a value of “1” providing the least amount of zoom and “18” showing the most area in the map field.

map field zoom settings

Unroll the Map Settings and toggle the necessary map size.

map dimensions settings

Add the form to a post or a page to see how the map looks on the front end.

map field on front end

That’s all about setting map zoom by a specific area.

A website cost calculator allows users to estimate the price of developing a website based on their specific needs. This form is useful for freelancers, agencies, and businesses offering website development services. By selecting various options, users receive an estimated cost tailored to their project.

Contents

Form Fields Structure

The form consists of the following sections:

  • Website type section that includes a Select Field block where users can choose the type of website: “Ecommerce,” “Blog,” “Portfolio”;
  • Website basics section that includes a Range Field block which defines the number of pages (minimum “10,” maximum “25”) and a Checkbox Field block with additional features like:
    • ”Responsive Design”;
    • “Premium Theme”;
    • “Premium Plugins”;
    • “Image Gallery”;
    • “Contact Form”;
  • Website content section that includes a Checkbox Field block with the following options:
    • “SEO Keyword Analysis”;
    • “SEO Copywriting”;
    • “Basic website copy”;
    • “Creative website copy”;
  • Testing and maintenance section that includes a Checkbox Field block with the following options:
    • “Prelaunch support”;
    • “Browser Testing”;
  • When do you want the website to go live? section that includes a Radio Field block with the following options:
    • “Any time soon”;
    • “I don’t know”;
    • “ASAP!”;
    • and a Conditional Block that’s triggered if the “ASAP!” option is selected, revealing a Date Field block for users to specify the exact launch date.
  • Total section that includes a Calculated Field block that summarizes the selection of website options using a calculation formula;
  • Action Button block that will allow users to finalize and submit their cost estimation request.

Set Up Calculation

For each option in the form, we will assign a calculation value that is used in the final formula:

%website-type% + (%pages_counter% *20) + %basics% + %content% + %testing% + %release_date%

Build the Form

Go to WordPress Dashboard > JetFormBuilder, click the “Add New Form” button to create a new form and name it Website Price Calculator.

creating a form

Upon default, the newly created form contains a Welcome Block; feel free to remove it.

Website type section

Click on the “+” to open the block inserter. In the search field, type “heading” to find the Heading block. Then, drag it onto the form editor. Finally, type “select” to find the Select Field block and drag it onto the form editor.

In the Select Field block settings, go to the General section and set the FORM FIELD NAME value to “website-type.” Then click on the “Manage items” button to open the Edit Manual Options pop-up to add website options.

website type section

As mentioned previously, this form field will contain three options: “E-commerce,” “Blog,” and “Portfolio.” For each value, we need to fill in the CALCULATE field. The amount will be calculated in the Total field at the end of this form.

website options

When done, click on the “Update” button. For more convenience, you can unite the Heading and Select Field blocks into a group.

Website basics section

Click on the “+” to open the block inserter. In the search field, type “heading” to find the Heading block. Then, drag it onto the form editor. Finally, type “range” to find the Range Field block and drag it onto the form editor.

The Heading block will display the “Website basics” title. Now, go to the Range Field block settings to finetune it.

In the General section, fill in the FIELD LABEL field with a relevant name. We’ll use “Number of Pages ($20/page),” which will also notify the user of the price per page.

In the Value section, fill in the DEFAULT VALUE field, which will indicate that the default number of pages is “10.”

range field block settings

Scroll down to the Field section and fill in the next set of fields:

the second part of the range field block settings
  • MIN VALUE — this field corresponds to the DEFAULT VALUE field and is “10”; 
  • MAX VALUE — this field corresponds to the maximum number of pages the user may order. For instance, we will set it to “25”;
  • STEP — this field corresponds to the exact number of pages the user may order. We will set it to “1.”

For more convenience, you can unite the Heading and Range Field blocks into a group.

Now, go back to the block inserter and add a Checkbox Field block. It will display functional website options, which the user may order. After adding the block to the editor, go to the block’s settings and enter a unique FORM FIELD NAME value. We’ll need it as well for the formula.

Then click on the “Manage items” button to open the Edit Manual Options pop-up, where we can add website options.

For each of your options, you need to fill in the CALCULATE field. The amount will be calculated in the Total field at the end of this form.

checkbox field editing manual options

When done, click on the “Update” button to save the changes.

Website content section

To speed up the process, you can duplicate the previous section. The Heading block will display the “Website content” title, and the Checkbox Field block’s FORM FIELD NAME value is “content”.

In the Checkbox Field, click the “Manage items” button to open the Edit Manual Options pop-up, where you can add content options.

For each option, enter a value in the CALCULATE field. This amount will be included in the Total field at the end of the form.

checkbox field block content options

Once finished, click the “Update” button to save your changes.

Testing and maintenance section

For this section, you can also use two previous blocks. The Heading block will display the “Testing and maintenance” title, and the Checkbox Field block’s FORM FIELD NAME value is “testing.”

In the Checkbox Field, click the “Manage items” button to open the Edit Manual Options pop-up, where we can add testing and maintenance options.

Enter a value in the CALCULATE field for each option. This value will be added to the Total field at the end of the form.

checkbox field block testing and maintenance section manual options

When you’re done, click the “Update” button to save progress.

When do you want the website to go live? section

For this section, we need to add a set of blocks, including:

  • Heading block;
  • Checkbox Field block;
  • Conditional Block:
    • Date Field block.

The Checkbox Field block will display options grading the degrees of urgency, starting from the least urgent to the most urgent (“ASAP!”). When the “ASAP!” option is selected, it will trigger the Conditional Block, revealing the Date Field block where users may select the exact date when they need a website to go live.

To display graded values, you can use other blocks, such as the Select Field, Radio Field, or Range Field block.

After adding the Checkbox Field block, go to the General block settings and set the FORM FIELD NAME value to “release_date”. Then click on the “Manual items” button to reveal the Edit Manual Options pop-up.

select field release date edit manual options

We will add three options, including: “Any time soon,” “I don’t know,” and “ASAP!”. For the “ASAP!” option, we need to fill in the:

  • VALUE — it will be used in the next block (Conditional Block);
  • CALCULATE — its value will be used in the final formula, since the urgency of website production requires additional spending. 

When you’re done, click the “Update” button to save your progress. Now, let’s fine-tune the Conditional Block. Click the “crossed arrows” buttons to open the Conditional Logic pop-up.

setting conditional logic

After that, feel free to apply the following set of settings:

conditional logic popup
  • WHICH FUNCTION NEED EXECUTE? — in this field, select the “Show if…” option;
  • FIELD — in the dropdown, select the field that will trigger conditional logic. In our case, it’s the “release_date” field;
  • OPERATOR — in the dropdown select the value “In the list”;
  • VALUE TO COMPARE — in this field, we need to enter the Checkbox Field “ASAP!” option value, which is “asap”.

When done, click the “Update” button. Now we can add the Date Field block to the Conditional Block. Click on the “+” button, and then type date in the search field to add the Date Field block.

adding date field block

Total section

This is the last section of the form. Feel free to add the following blocks:

  • Heading block;
  • Calculated Field block.

The Calculated Field block will include the formula that counts the final price of the website creation. Let’s​​ fine-tune the block. Click on the button with the “wrench” icon to add a set of fields to the block’s input.

calculated field

The final formula looks like this:

%website-type% + (%pages_counter% *20) + %basics% + %content% + %testing% + %release_date%

Basically, we’re summing up all the values of the selected options in six fields. The %pages_counter% field is multiplied by twenty (20) because creating each additional page costs $20. 

When done, click on the “Publish” button to publish your form.

Other Field and Form Actions

If you want this calculator to act as a request form, you can add an Action Button block to allow users to submit the results. 

In order to save them in the Form Records section, which can be accessed via WordPress Dashboard > JetFormBuilder > Form Records path, you need to add the “Save Form Record” form action. To do so, go to the JetForm tab in the form settings, scroll down to Post Submit Actions, and click “+ New Action.” In the Add new action pop-up, find the “Save Form Record” form action and click on it.

save form record form action

On the next screen, click the “Update” button.  After adding the form action, update the form to save your progress.

Check the Results

Before we check the form, we need to add it to the page. To do so, click on the “<<” button in the upper right corner. It will trigger the Use the form pop-up, where you can choose how to add a form to the final page.

adding a form to the page

Now let’s preview the form. In the form, we will select the following options:

the first part of the form preview
  • Website type — “WooCommerce — $700”;
  • Website basics:
    • Number of Pages ($20/page) — “15”;
    • “Premium Theme — $150”;
    • “Premium Plugins — $199”;

Website content — “Creative website copy — $1400”.

the second part of the form preview
  • Testing and maintenance — “Prelaunch support — $330”;
  • When do you want the website to go live? — “ASAP!”:
    • “11.03.2025.”

If we click on the “SEND REQUEST” button, we’ll receive a “Form successfully submitted.” notification, and we can go to WordPress Dashboard > JetFormBuilder > Form Records to see the form entry.

Hover the form entry over and click on the “View” link.

checking form entry

As you can see, all the form field options that we selected while filling out the form were fully stored.

form record website request details

Following these steps, you can successfully create a cost calculator WordPress form using JetFormBuilder. This form will provide a seamless and interactive experience for users estimating website development costs.

A default Checkbox Field available with the JetFormBuilder plugin can complete a WordPress form with several options for selection. 

However, it can become a more refined version when you transform a block into the Advanced Choices Field block. 

Let’s go through the customization process.

Table of contents:

Customizing Checkbox Field

Open the existing form in the WordPress Dashboard > JetFormBuilder directory. Or, press the “Add New” button to build a new form.

If you haven’t added a Checkbox Field beforehand, you can find it in the block inserter or by typing the “/” symbol right in the form.

adding a checkbox field

Once added, adjust the Checkbox Field settings located on the right side of the screen.

Now move to the block in the form itself. The “Manual Input” source is set as default for the field. You can change it if needed.

Press the “Manage Input” button to open additional settings.

checkbox field manual input

Here, add desired items by completing the Label and Value fields. You can also fill in the Calculate field if needed.

Click the “Add New Option” to create an additional field option whenever needed.

edit manual options pop-up

After building the desired options, push the “Update” button.

manual options added

Migrating from Checkbox Field

Now, you can upgrade your Checkbox Field by clicking on it and the first icon in the toolbar above the field.

Here, you can pick the block into which you want to transform the Checkbox Field. Among the options are default Columns, Text Field, Conditional Block, Radio Field, Select Field, or Group.

Now, we select the Advanced Choices Field.

NOTE

Mind that not only Checkbox Field can be transformed into other fields, but also Radio and Select fields.

transform to advanced choices field

The block is transformed and can be modified according to the Advanced Choices Field block settings.

transformed checkbox field

Except for the Choice Control block, other blocks can be added in the Advanced Choice box.

NOTE

The exception is JetFormBuilder fields; they can’t be added to the Advanced Choice block.

Hit the plus-shaped button to select the block to add. For instance, we pick the Image block, but you are free to choose any other blocks.

add block window

Once you upload the image, you can put it above the Choice Control block by pressing the arrow-shaped “Move up” or corresponding “Drag” button.

image block added to advanced field

We also add a picture to the second option, and now the advanced Checkbox Field is ready.

customized advanced field block

Now you know how to transform the default Checkboxes form field into the desired fields with the JetFormBuilder plugin.

Create a WordPress form for front-end post submission and set the needed post-submit actions with the help of JetFormBuilder.

Why You Need a WordPress Front-End Post Submission Form

Allowing users to submit posts right from the front end makes the work with the WordPress website even more efficient than it was before. Engage users to add more and more exciting posts. 

Using this feature, you can allow users to submit their products and ads to the marketplace website, enter a competition, submit art gallery work, and, certainly, post guest articles on your blog. 

Create a WordPress form and select needed post-submit actions to freshen your website. Use the JetFormBuilder plugin to simplify the process.

Top WordPress Front-End Post Submission Form Features

  • Create two forms, one for posts submitting and the other for their editing;
  • Add the only fields you need and connect them with the created meta fields, terms, and other vital post elements;
  • Style up the form to meet your requirements;
  • Set the post-submit actions to update the post, redirect to the page, and send an email about the form submission right to the admin’s email;
  • Use Conditional Logic to show or hide certain fields under the set conditions;
  • Adjust JetFormBuilder presets so that users do not fill in fields that they have already completed before.

How to Create a WordPress Custom Front-End Form

Before we start, make sure you have the following plugins installed and activated:

  • JetFormBuilder — build a form, edit the post submit actions, and add a captcha if needed;
  • JetEngine — create a CPT, add custom meta fields and taxonomies; 
  • JetEngine Profile Builder module — make an account page, add posts, and edit post templates;
  • Elementor — add the created form into the editor to finalize the customization, style up the page, and publish it right away. Or use Gutenberg block editor, as it is fully compatible with the JetFormBuilder plugin; it’s up to you.

Create custom post type

Proceed to the WordPress Dashboard > JetEngine > Post Types. Add a new custom post type by pushing the “Add New” button, or open the one that you have created earlier.

events cpt in the list

Once the custom post type editor is opened and General Settings are adjusted, scroll down to the Meta Fields tab.

As your form will include fields for completing, some of them will repeat the CPT meta fields you edit here. That’s why you need to set up the needed fields.

Let’s take a look at the example fields.

events post type meta fields
NOTE

Please ensure that the needed Supports are enabled in the Advanced Settings tab. We especially need Title, Excerpt, Thumbnail (Featured Image), and Custom Fields in the described case.

events post type supports

After implementing the changes, press the “Add/Update Post Type” button.

Add taxonomies to custom post type

Now let’s build some categories for the CPT posts. Move to the WordPress Dashboard > JetEngine > Taxonomies. Open the taxonomy you have already created, or click on the “Add New” button to build a new one.

jetengine custom taxonomies

Take into consideration that the taxonomies you build should be connected with the previously mentioned post type. To do so, choose the needed option in the Post Type field.

Don’t forget to press the “Add/Update Taxonomy” button after all the settings have been adjusted.

format custom taxonomy editing

Create profile page with JetEngine Profile Builder

The next step is enabling the Profile Builder. Navigate to the WordPress Dashboard > JetEngine > JetEngine, toggle the Profile Builder and press the “Save” button. Now the feature is activated.

profile builder switcher

Set the Profile Builder according to your needs, or import the premade configurations. Head to the Skins Manager and unfold the Presets. They add pages and templates automatically. 

Select the desired preset and hit the “Import” button.

jetengine skins manager presets
  • User profile with editable content — allows registered users to publish and edit forms. We import this preset as we work with the posts only;
  • Editable user settings page for user profile — adds user settings subpage to Profile Builder.

So we select the first option. Move to the WordPress Dashboard > Pages to check if the new page was created. The “Account” page is now displayed here.

preset account page

Besides, you can check the WordPress Dashboard > Templates > Saved Templates. Here, if the Preset was imported, the new templates would appear.

elementor preset templates

Also, you can see one added listing if you proceed to the WordPress Dashboard > JetEngine > Listings.

user posts item listing

Go to WordPress Dashboard > JetEngine > Profile Builder to adjust the settings.

Check that the “Account” option is selected as the Account Page; enable the Users page, and Single user page if desired.

You can also adjust the following fields, but it’s unnecessary in the described case.

profile builder pages settings

Open the Account Page tab. 

Work on the initial fields and add some subpages to the account page. Check the following video to learn how to do it without any effort.

profile builder account page settings

Take a look at the example subpage settings. We fill in a Title and Slug.

NOTE

The Slug should contain no capital letters, spaces, or special symbols. Use only Latin letters and “-”, “_” symbols to separate the words. Stick to this step as it is necessary for the proper saving of information in the database.

Select a Template by typing its name in the particular field and move to the following Hide from menu toggle. It should be left disabled if you want to display the current subpage as a menu item in the Profile Menu widget.

Moreover, you can select user roles for which the page will be available in the Available for the user role field.

manage my events subpage

After building all the required subpages, push the “Save” button.

Add new form for submitting posts

Go to WordPress Dashboard > JetFormBuilder > Add New.

jetformbuilder new form

Give a title to the form and delete the default fields, except for the Hidden one.

Make sure that its Form field name is set to ‘post_id’ in the General tab and the “Current Post ID” is selected as a Field Value in the Field Settings; we’ll need it later.

hidden field settings in the add event form

Hit the plus-shaped button to add a new block. Add all the needed fields to the form. 

Firstly, we add a Heading Field. This one will serve as a section title.

basic info heading

We begin the section with a couple of Text Fields. We suggest you fill in the Form field name with the same meta field values you have added to the CPT meta fields. This way, you will not get confused when connecting fields.

NOTE

Mind enabling the Is Required toggle for the fields you want to make obligatory.

basic info text fields

The following fields we place in the form are Select Fields. We choose the “Terms” option in the Fill Options From field and define the needed Taxonomy as a source.

Thus the user will select between categories and attach a post right to the needed one.

select fields with terms source

We add one more Heading Field and add one more Select Field. This time we set the “Manual Input” source in the Fill Options From field.

location and time part of the form

Fill in the Label and Value fields for all the options you want to add in the selector.

Hit the “Update” button to save the result.

format manual options

Another feature we will use in the current form is the Conditional Block. We continue building the form with the Text Field displayed under the set conditions.

Let’s press the arrow-shaped button to proceed to the editor and hide the block when the “Live online” option is selected.

location conditional block

In the first, Type field select the “Hide the field if…” option and move to the Field. Here you should choose the compared field.

Pick the “Contain text” Operator and define the needed Meta Field Name as the Value to Compare.

To find out more info about the conditional logic in JetFormBuilder form fields, watch our video with the detailed use case.

Mind pushing the “Update” button after implementing the changes.

location conditional logic

We add two more Text Fields and move to the next section. It will be separated from the previous one by another Heading Field.

Place the Radio Field in the form editor. In the Fill Options From drop-down menu, we choose the “Manual Input” and push the “Manage Items” button.

tickets part of the form

As the new window is displayed, press the “Add New Option” button and fill in the Label and Value fields.

For example, we will adjust two such fields; one is for the “price,” and the other is for the “free” option. However, you can add other options you need as your form may differ from the one described in the tutorial.

Mind clicking the “Update” button after making the changes.

price radio field with manual options

The following field we add is another Conditional Block with the Text Field inside it.

The main goal now is to hide the Text Field we have added once the “Free” option in the previous field is picked. So select the Conditional Block and click on the arrows-shaped icon to open the settings window.

price conditional block

Push the “New Condition” button to work on the first condition. Select the “Hide this field if…” as a Type and select the field you want to hide in the Field drop-down list.

Also, set the “Contain text” option in the Operator field and define the Value to Compare.

free event conditional logic

One more condition we need to set is displaying the following field if the “price” option is picked. So, push the “New Condition” button one more time.

Choose the “Show this field if…” Type and select the needed option as the Field.

The Operator should be picked as “Contain text,” and Value to Compare is “price” now.

price conditional logic

Save the changes by clicking on the “Update” button and continue to add new fields if needed.

We add one more Heading Field for the next logical part of the form.

We also place the Media Field for users to upload the desired images to the post. Don’t forget to work on its Field Settings in case of need.

image part of the form

The last part of the form will include another Heading Field, Textarea Field, and a WYSIWIG Field representing the excerpt and the content of the future posts.

Don’t forget to finalize the form with an Action Button and adjust it as desired.

description part of the form

However, the form is not ready yet. To adjust it thoroughly, head to the JetForm tab.

Work on the Form Settings and Captcha Settings if needed and proceed to the Post Submit Actions tab. 

Customize post submit actions

The first action we will adjust is “Insert/Update Post”, you can pick it from the drop-down menu. It is essential in the current form, so mind adjusting it correctly.

Press the pencil-shaped button to edit the action.

add event form post submit actions

Select the needed Post Type in the appeared pop-up and set the Post Status to “Published.”

In the Fields Map, there are the fields you have added to the form. It will link the form fields with the specific meta fields.

Leave the “post_id” field empty and work with the following fields. 

We select the “Post Title” as the Event title and move to the Organizer field. This field should be connected with the matching meta fields you have created earlier during the post type editing. 

To connect them, choose the “Post Meta” option in the first selector and complete the second field with the needed Meta Field Name.

insert update post submit action editing

As you remember, the next Type of event, Event category, and Format of the event fields represent taxonomies. That is why we pick “Post Terms” and specify the taxonomy in the following drop-down menus.

post terms fields map

Complete the following fields with the corresponding source values.

post meta fields map

When you get to the Media Field, you should select the “Post Thumbnail” option as a source. We choose the “Post Excerpt” and “Post Content” options in the following Textarea and WYSIWYG fields.

That’s it with the “Insert/Update” Post Submit Action, so hit the “Update” button.

image and descriptions fields map

Then click on the “+ New Action” button to add another Post Submit Action, “Send Email.” Whether you want to adjust it to get a notification once the user has added the new post is entirely up to you.

Complete the fields with the required data and press the “Update” button.

send email action editing

The last post submit action is “Redirect to Page.” If desired, you can create one by pushing the “+ New Action” one more time.

Complete the Redirect to field. The new field may appear depending on the source you choose. For instance, we select the “Static page” option, so we complete the Select page field with the desired page.

Moreover, you can work on the Add query arguments to the redirect URL and Add hash to the redirect URL fields.

Don’t forget to press the “Update” button once all the adjustments have been made.

redirect to page action editing

Navigate to the General Messages Settings, where you can change the default notifications or leave them “as is.” 

Finally, click on the “Publish button to save the form.

add event form general messages settings

Create form for posts editing

There is no need to create one more similar form that will edit posts, as we can duplicate the one for post submitting we have just built. 

Head to the WordPress Dashboard > JetFormBuilder > Forms and hover on the newly created form. As the “Duplicate” button appears, click on it, and the copy will be added to the list.

jetformbuilder duplicating form

Now you can press the “Edit” button displayed once you hover over the copy.

jetformbuilder edit copy

Change the title of the form and proceed to the Hidden Field

Leave the General tab of the block settings and move to the Field Settings.

Select the “URL Query Variable” option in the Field Value drop-down menu and paste the “_post_id” value in the Query Variable Key field.

Besides, work on the Advanced tab to add the CSS Class Name

If you work with Gutenberg only, you can also install and activate the JetStyleManager plugin to style up the form according to your wishes. However, we consider the case with Elementor so that we will adjust the style settings a little bit later, right in the Elementor editor.

hidden field settings in the edit event form

Also, remember to change the Field Label of the Action Button.

update action button settings

Go to the JetForm tab to work on the general form settings. Customize the Form Settings and Captcha Settings if needed and move to the Post Submit Actions.

Configure post submit actions

We also need to adjust the “Insert/Update Post” action, so press the pencil-shaped icon to open the editing window.

post submit actions edit button

This time choose the “Post ID (will update the post)” option in the post_id field of the Fields Map.

All the other fields should be left without changes. Click on the “Update” button to save the changes.

insert update post submit action post_id fields map

The following post-submit actions can also be left or deleted as they are not necessary for the correct work of the form. 

Go to the Preset Settings and activate the Enable toggle. We do it to save the data that was already completed in the fields. So, there is no need to retype the info once the user gets to the editing.

Set the “Post” as Source as we are working with CPT, and select the “URL Query Variable” option in the Get post ID from list.

preset settings in the form switcher

We need to paste the ‘_post_id’ value into the Query variable name to get the information from this particular post. 

The following selectors are the same form fields we have added before. So now we build a connection between form fields and default/custom meta fields.

Select the “Post ID” option for the ‘post_id’ field, set “Post Title” as ‘event_title,’ and pay attention to the following ‘organizer’ field.

This one refers to the custom post type meta field. That’s why we need to pick the “Post Meta” option and define the required Meta Field Name in the appeared field.

The following ‘type_of_event’ source in the form was selected as the taxonomy, so set the “Post Terms” option in this field. Then define the needed taxonomy in the selector.

Repeat the same steps for similar fields.

the first part of preset settings

Besides, pay attention to the ‘select_an_image,’ ‘summary,’ and ‘event_description’ fields of ours.

The first field is connected to the “Post Thumbnail,” the second to the “Post Excerpt,” and the third one to the “Post Content.”

the second part of preset settings

Mind changing the General Messages Settings default values and save the form by pressing the “Update” button.

edit event form general messages settings

Add forms to templates

Go to the WordPress Dashboard > Templates > Saved Templates and open the “Add Post” template editor.

add post template edit button

The Profile Menu is already added to the page. These subpages are taken from the Account Page settings we have edited in the Profile Builder.

If you remember, we have added four subpages; however, the “Add New Post” and “Edit Post” are set to be hidden from the menu, so there are only two subpages.

Drag the JetForm widget to the page. Select the form for the post submitting in the Choose Form drop-down menu.

You can also adjust other features in the Form Settings and work on the Style tab settings if needed.

Mind pushing the “Update” button once all the adjustments have been made.

add event form in template

Let’s check the result on the front end. To do so, we have added a special Button in the header that links to the Profile page.

By pressing the “Dynamic Tags” button next to the Link field, you can select the “Profile Page URL” option under the JetEngine title.

Pick “Add New Post” as Profile Page in the appeared tab and leave the default “Queried User” Context.

Hit the “Update” button to save the changes.

button to the profile page

Return to the WordPress Dashboard > Templates > Saved Templates and select the “Edit Post” template for editing now.

edit post template edit button

Now the same steps should be taken. Add the JetForm to the page and pick the second form we created, responsible for post editing.

Proceed to customize Form Settings and the Style tab to get the desired form appearance. You can copy and paste the style of the “Add Post” form to receive a similar page appearance.

Press the “Update” button to save the template.

edit event form in template

To see the data you have put in the form on the front end, head to the WordPress Dashboard > JetEngine > Listings.

Find the User Posts Item listing created after we have imported the preset. Now we push the “Edit with Elementor” button to open the editor.

user posts item listing

Begin with the Listing Item Settings. Press the arrow on the Elementor Dashboard and open the Listing Settings tab.

Ensure that the Listing source is set correctly and the needed option is selected in the From post type selector.

For instance, we select the “Posts” as the Listing source and specify it in the following drop-down menu.

user posts item listing settings

Now you can push the “Update” button and refresh the page to pull the example post from the source.

NOTE

Check whether the picked source contains any posts. Otherwise, there will be no data seen in the listing item.

events listing

As it is preset, the listing already includes Dynamic Image, Dynamic Field, and Dynamic Link widgets.

Leave the default widgets or add more items according to your wishes.

Currently, we will delete the “Edit PostDynamic Link button. To meet our needs, we add the Dynamic Terms widget to pull out the event’s format, the Dynamic Field widget to display the date and time, price, and a summary of the event. 

Don’t hesitate to add the widgets you need at the moment. The data will be pulled out automatically and show the required post information if you are using dynamic widgets.

We also set the Fallback for the ‘price’ field if the event is defined as free. Besides that, we have enabled the Customized Field Output to complete the Field format with the default value displayed before the price number.

price dynamic field

As we have deleted the “Edit Post” button, let’s add one more Dynamic Link. Begin with finding and selecting the “Profile Page” from the Source menu.

The Profile Page field should also be completed; this time, pick the “Edit Post” option.

Besides, don’t forget to change the Label.

NOTE

For the correct work of the link, head to the Add Query Arguments toggle and enable it. Once done, paste the ‘_post_id=%current_id%’ argument in the Query Arguments field.

The ‘_post_id’ is the same key we have entered during the form customization, and the ‘current_id’ is the macro that returns the current post ID.

Proceed to other settings and style up the listing according to your preferences. 

Once everything is ready, don’t forget to update the listing item by pushing the same name button.

completed query arguments

Return to the WordPress Dashboard > Templates> Saved Templates and open the “User Post” template editor.

Make certain that this template looks precisely like the rest of the templates you are working with.

Though this time, instead of the form, we add the Listing Grid widget and pick the “User Posts Item” in the Listing field.

Then you can also change the Column Number and Posts number and work on the gaps in the Style tabs.

That’s it; push the “Update” button.

users posts item listing in template

Proceed to your website and click on the button to open the form.

events website home page

Now you can complete all the fields and submit a new event. Pay attention that we create an online event, so the location becomes hidden once we select the “Live online” option.

The same situation is with the price of the tickets. If we choose the “Price” option in the radio field, the “Enter min. price” field appears. And once the “Free” option is selected, there are no additional fields for completing.

submission form on the frontend

Once you push the button, the post becomes live. The redirection also works fine, as we are on the Account page now.

Let’s press the “Edit” button and work on the post we have created.

You may also notice a post URL at the bottom of your screen on hover. The post ID is displayed as a slug.

events on the frontend

All the information is already completed in the editor as we used Presets. That’s why you don’t need to enter the data again; you can just change the desired fields.

editing form on the frontend

So, as you can see, after the form submission, the information has been changed.

edited event on the frontend

Now let’s check the entered information in the CPT you are currently working with. So, we head to the WordPress Dashboard > Events and open the editor of the post we have just added and edited.

new post added to cpt

You can see that the fields are completed with up-to-date information. We nailed it; not only the meta fields are completed with data, but also the taxonomy tags, featured image, excerpt, and the content of the post.

new post with completed data

That’s it; the form has been completely set, and now you know how to create a WordPress post submission and editing form.

Develop and implement a WordPress booking form letting users make online reservations fast and easy.

Contents:

Booking forms allow business owners to streamline the online booking routine. Add a multi-step WordPress booking form to the website for all booking requests to land in the same place. 

A dedicated booking form can be used to arrange a flight reservation, a room reservation, hotel accommodation, and more. To create a WordPress simple booking form, you’ll need the JetFormBuilder Pattern and some time. Customize the form fields and add a payment gateway to it if necessary.

  • Use the shortcode to add a WordPress simple booking form to posts, pages, widgets;
  • Receive form submissions to the default admin email or custom email address;
  • Turn detailed booking forms into multi-step and make them user-friendly;
  • Make personal information fields Required;
  • Add Date and Time fields to obtain the essential reservation details;
  • Provide the ability to add +1 guest if needed; 
  • Show the automatically calculated booking total price before the form submission; 
  • Use reCAPTCHA v3 validation to protect the booking form from spam;
  • Provide the Success, Validation, and Error Messages during form submission;
  • Apply custom style settings to booking form fields;
  • Autosave the form progress and inputted data if the form filling process was interrupted;
  • Build email marketing lists with MailChimp, GetResponse, Active Campaign, Zapier, and Make integrations.

Step 1 – General information

  • Choose Your Stay. A Select field for choosing the desired location;
  • Number of Nights. A Select field for picking the number of days to stay;
  • Check-in Date. A Date field for filling in the arrival day;
  • Time. A Time field for filling in the arrival time; 
  • Price per Night. A Range field with prices per night;
  • Kind of Trip. A Checkbox field for indicating the journey type;
  • Children. A Radio field to submit the number of children;
  • Extra Services. A Checkbox field for picking additional services;
  • Total Price. A Calculated field with the set formula to calculate the total price;
  • Next/Previous button. A Form Break Field that splits form into steps.

Step 2 – Personal information

  • Name. A required Text field for filling in the customer’s name;
  • Last Name. A required Text field for filling in the customer’s last name;
  • Phone. A required Text field for filling in the phone number; 
  • Gender. A Radio field for indicating the customer’s gender;
  • Additional Information. A Textarea field for providing extra details about the booking;
  • Next Guest. A Repeater field for submitting the +1 guest’s details;
  • Next/Previous buttons. A Form Break Field allows you to switch between the form steps.

Step 3 – Additional information

  • Leave a Comment. A Textarea field for providing extra details about the booking;
  • Choose File Button. A Media field to upload additional files if needed;
  • Submit. A Submit field to submit a WordPress simple booking form.

Building an online booking system is a multi-structured task. Needless to say that in this situation, you may want the user not only to look at the available booking options but also have a possibility to reserve preferred apartments. That’s why you may like WordPress Booking Form Pattern from the JetFormBuilder plugin.

Create a new form

Begin the work from JetFormBuilder > Add New and give a name to the form.

adding a new booking form

You can delete the default Hidden, Text, and Submit Fields. We don’t need them as we will work with Pattern that already includes other essential fields for booking.

Place a Booking form pattern

The Pattern is a layout that can be customized and styled up. It includes fields that can likely be used to meet specific needs. 

Although mind that to style the form, you may need to install the JetStyleManager plugin. It will allow you to apply any desired changes to the form appearance.

Navigate to adding the new block by clicking on the “Plus” icon on the top left side of the WordPress Editor. Open the Patterns tab and choose the “JetForms” option from the drop-down menu. Find and place the Booking Form on the page.

attaching a booking form pattern

This pattern comprises three parts. Let’s take a closer look at each of them and the inserted fields.

Above all the sections, there is a Hidden Field that the users will not see. Apply it if you need to use the data for calculations.

general information section

General Information consists of the following fields:

  • Select Fields allow customers to select the type and duration of stay;
  • Date Field — set for check-in date input;
  • Time Field — fixes the time of the guest arrival;
  • Range Field lets users set out the wished price per night;
  • Checkbox Fields — for several options to choose from, responsible for kind of a trip and extra services provided;
  • Radio Field gives options where only one can be picked. In this case, it is to inform if the user is traveling with children;
  • Calculated Field — counts the total price drawing attention to the previously input data;
  • Form Break Field divides form into parts that are displayed separately. Click on it and change its label of progress to show it under the step indicator.
personal information section

Personal Information is responsible for the guest data input and encloses such fields:

  • Text Fields — for the personal identification details needed for the execution of entrance;
  • Radio Fields — define the gender of guest;
  • Textarea Field — additional information a user would like to add;
  • Repeater Field provides the form with a repeatable block that will double itself when the user clicks on it, works for adding guests that travel together with the user filling out the form;
  • Form Break Field enables a user to proceed to the next part of the form.
additional information section

Additional Information is the last part of the Form Pattern that involves a couple of other fields:

  • Wysiwyg Field admits a user to type the desired styled information or some other content;
  • Media Field — set for uploading some pictures needed for the convenient booking. For instance, it can be a photo of required documents;
  • Submit Field — the final point on the way to sending a WordPress Booking Form.

Edit or delete all the desired fields. It is possible as they are not preset.

Work on the JetForm settings

JetForm Settings are capable of changing the layout of the whole form.

booking form jetform settings
  • Form Settings embrace the following:
  • Fields Layout — defines the relation of the field label and the field bar. Choose “Column” if you want to put the label above the bar, and “Row” if one line is desired;
  • Required Mark — lets you adjust a symbol that is used to determine the necessary fields;
  • Submit Type — enables setting a “Page Reload” or “AJAX” option that will not reload the page;
  • Enable form pages progress — if you work with the Form Break Field you can add a step indicator to the form parts.
booking form additional jetform settings
  • Captcha Settings can also be set up to meet all the requirements. You can learn about it in detail from our reCAPTCHA video overview.
  • Post Submit Actions are the most vital part of the booking form creation process. They define in which way information will be processed after the form submission.

The first action we will set is “Send Email.”

send email post submit action editing

Edit this action according to your requirements. If you want to send a reply to the customer, you can also add an Email Text Field to the form. When you have finished editing, push the “Update” button.

One more post-submit action that can be added to the booking form is “Insert/Update Post,” which creates or edits the existing post type to insert data to the post automatically when a customer fills in the form. 

To adjust this section properly, you may need to install and activate the JetEngine plugin. It will help to create meta fields for all the input data.

Create meta fields for all the fields that require input information and click on the “Add Meta Box” button. Once you are done, return to the form and open the “Insert/Update Post” Submit Action edit window.

insert update post submit action editing

Select Post Type where the data will be inserted, its Status, and Fields Map. The last tab is accountable for the meta fields you have just created. Type the Meta Field Names in the corresponding fields. Update the action.

  • Preset Settings. You may also enable the preset setting for this Booking pattern to add recurring data. Thus, the form would be more user-friendly.

Payment customization

Let us also enable a possibility to pay for the apartments. To do this, proceed to JetFormBuilder > Settings > Payments Gateways.

jetformbuilder payments gateways settings

Enable Gateways to start working with payments and toggle Test Mode to check the function before the actual charge. Put the Client ID and Secret Key, read more about how to get them.

Besides PayPal, you can use Stripe Payments to enable another payment option on the website.

Go back to the form editor and enable PayPal Checkout in the Gateways Settings. Consider editing it consequently.

paypal checkout settings
  • Client ID and Secret Key — the same values that were input earlier in the JetFormBuilder Settings;
  • Currency Code — shows what currency will be used for the payment;
  • Before payment processed and On successful payment — in charge of what options will be performed. These are Post Submit Actions that you have configured for the form.
paypal checkout additional settings
  • On failed payment — pick actions to be performed when the payment is failed ; 
  • Create payment order notification choose here the associated post-submit action;
  • Price/Amount field — set where to pull the price from;
  • Payment success and failed messages — type in the notifications displayed to users in the relevant situations.

Update settings to attach PayPal to the WordPress booking form with payment. Work on the Preset and General Messages Settings supplementary if needed, and click on the “Publish” button once you are done editing the form.

Now let’s check how to add the newly created form to the page.

Add a form to the page

Head to Pages > Add New. You can add the form to Gutenberg or create an Elementor Booking Form. Put the JetForm block on the page.

booking form in the gutenberg page editor

The Booking Form is already displayed with the step indicator above. If you have changed their Labels of Progress, they will be shown here.

If you want to change the “Last Page” label, you need to add one more Form Break Field after the Submit Field in the form editor and give it a name.

There you can also change Form Settings. However, if you have already applied these settings while creating the form with JetFormBuilder, there is no need to do it one more time. Those settings will override these.

Moreover, you can add some CSS classes in the Advanced Settings if needed.

Let’s publish the page and check it on the front-end.

booking form on the frontend

That is it. We’ve created a WordPress simple booking form that’s ready to cover customer reservations.

Create a custom WordPress profile form to grant users the ability to update their profile details.

Contents:

Profile forms allow users to provide their details after registration. Such forms usually ask people to share more than just first and last names; location, occupation, family status, and other questions can be there. Filled forms are a quick way to reach out to website users.

Profile Pattern is a WordPress form pattern having three different question groups: Basic, Additional, and Settings. Use it to hatch a ready-made WordPress profile form. To collect as much client info as needed, add extra field blocks to it.

  • Let the user upload/update the profile picture; 
  • Set input mask to get the proper phone number format;
  • Decide which fields you want to make Required;
  • Add steps or group fields if the profile implies extended user details input; 
  • Apply custom style settings to WordPress profile form fields;
  • Add a profile form to the single user page using the shortcode or widget/block;
  • Inform users about successful profile updates via email and notification on the website;
  • Update user profile info on the site right after the form submission.

Choose File button. A Media field for uploading the user profile picture.

1 – Basic

  • First name. A required Text field for filling in the user’s first name;
  • Last name. A required Text field for filling in the user’s last name;
  • About me. A Textarea field where users can provide additional information.

2 – Additional information

  • Location. A Text field for filling in the country;
  • Languages. A Text field for filling in the languages the user can speak;
  • Email. A required Text field for filling in the user email;
  • Phone. A required Text field for filling in the phone number.

3 – Settings

  • Password. A Text field for entering the password for the first time;
  • Confirm Password. A Text field for entering the same password for confirmation;
  • Update. A Submit field to submit a WordPress profile form.

Once you build a WordPress website that allows users to register, you need to give them the possibility to enter their personal information and update it when desired. In this case, you may want to create a WordPress Profile Form. Feel free to use the Profile Form Pattern from the JetFormBuilder plugin, including all necessary fields.

Add a new form

Initially, navigate to JetFormBuilder > Add New. The first stage is to give a title to the form.

adding a new profile form with jetformbuilder plugin

Three fields are set beforehand. These are Hidden, Text, and Submit Fields. Delete them as we will use the Pattern with all the required fields for a profile update.

Attach a Profile form pattern

The main advantage of the Pattern is already embedded fields that will speed up the process of form creation. Now we pick a Profile Form Pattern that will serve as a layout for the form.

Push the “Plus” icon to add a Pattern. From the drop-down menu, pick a “JetForms” option. There you can find a Profile Form Pattern; click on it to apply it to the form.

attaching a profile form pattern

The pattern embraces the following fields:

  • Paragraphs that conditionally divide the form into sections;
  • Media Field lets users upload their profile photos;
  • Text Fields are responsible for the input of requested information;
  • Textarea Field is set for more extensive data input;
  • Submit Field serves as a confirmation button for the form.

If desired, there is an opportunity to edit or delete these fields and add new blocks to the WordPress Profile Form.

Adjust JetForm settings

Change default settings of the form to set its suitable layout.

profile form jetform settings
  • Fields Layout is in charge of the interrelationships between the field label and the field bar. “Column” option places label above the bar, and “Row” displays them in one line;
  • Required Mark is responsible for changing a default asterisk into another symbol;
  • Submit Type affords to choose between Page Reload and AJAX that will not reload the page;
  • “Enable form pages progress” toggle works for forms that are divided into parts by the Form Break Field. It appends a step indicator to the top of the form.
profile form captcha and post submit actions settings

The next are Captcha Settings. Watch our video overview on this topic to modify them properly.

Proceeding to the Post Submit Actions, pay attention that this is a significant point if you want to get a correctly working and functional form.

Post submit action customization

You can use several Post Submit Actions for the WordPress Profile Form. Though, let’s add one, the most meaningful action that will work in this matter, Update User.

To begin with, check if you have the JetEngine plugin installed, as we will need to put meta fields while editing the action.

Go to WordPress Dashboard > JetEngine > Meta Boxes and add a new Meta Box. We need it for creating meta fields that will be input during the Update User Post Submit Action editing.

jetengine adding a new meta box

Fill out the required General Settings fields. Note that you should choose “User” as the source in the Meta Box for drop-down menu. Scroll down to the Meta Fields.

We need to create meta fields for all the bars that will include information about the user. It means a Media, Textarea, and eight Text meta fields. 

Mind that if you have added some other fields, you need to apply meta fields for them as well.

profile form meta fields

Push the “Add Meta Box” button and go back to the form editor.

update user post submit action editing

Open the Post Submit Acton Editor, fill in the Fields Map with “User Meta,” and type in meta field names that you have entered to each field while adding the meta box.

update user action settings editing

Define a User Role for the updated user and set messages displayed to the users in specific cases.

Update the action and continue customizing Preset and General Messages Settings

Publish the form once you finish all the revisions.

Place a form on the page

Head to the page where you want to place the WordPress Profile Form. This page can be edited with both Gutenberg and Elementor.

Locate the JetForm block on the page and proceed to the settings. Choose a form that you have added from the drop-down menu.

Pick Fields Layout, Required Mark, and Submit Type if you haven’t done it yet. Turn attention to the fact that the settings you have customized earlier in the form editor are the higher-priority ones, which means they will override the JetForm block settings in the page editor.

profile form page editor

Check Advanced settings to apply a CSS class to the form. Click on the “Publish” button to make the page functioning.

profile form pattern front-end

The WordPress Profile Form is ready for any user data updates.

WordPress Profile Form Pro Features

Create a custom WordPress Subscription Form to collect subscription requests and build a loyal following.

Contents

Subscribe forms are a must when it comes to collecting email addresses and getting new leads. Blog and business owners can send out exclusive deals and quality content to those interested subscribers. Moreover, the obtained data can be used for mailing list creation. 

To create a Subscribe Form for WordPress websites, you’ll need a JetFormBuilder pattern. It is a ready-made WordPress Form Pattern that you are free to customize anyhow you like. Style the form blocks, configure post-submit actions, and add as many new fields as necessary.

  • Image. An Image block for adding visuals to the form;
  • First Name. A required Text field for filling in the user name;
  • Email. A required Text field for filling in the user email;
  • Subscribe button. A Submit field to submit a WordPress subscription form.

Add a new form

To create a Subscribe Form in WordPress, head to JetFormBuilder > Add New. Give a name to the form.

adding a new form with jetformbuilder

As you may notice, there are default fields, namely Hidden, Text, and Submit fields. For now, we can delete them to implement the pattern.

Apply a Subscribe form pattern

Patterns are pre-set layouts created for specific purposes. Let’s add a Subscribe Form Pattern. You can delete existing form fields, edit them or put other ones that you can customize freely.

Push the “Plus” icon in the editor to navigate to Patterns. Open the drop-down menu and pick the “JetForms” option. Scroll down to find a Subscribe Form and click on it.

choosing a subscribe form pattern

The pattern is pretty short and quick to fill in. It includes the following fields:

  • Paragraphs to tell the user about the purpose of the form;
  • An Image that can be an addition to the form;
  • Text Fields are used for typing different kinds of information. In this case, two fields represent First Name and E-Mail; they are required. You can enable this option to other added fields by clicking on the block and toggling the Is Required option;
  • Submit Field is the button that allows the user to confirm the information they have typed in. In such circumstances, the button represents subscription confirmation.

Place other desired fields or delete the ones already embedded in the Subscribe Form Pattern and listed above.

Personalize JetForm settings

If you want to change the default layout, remember to make it in the JetForm Settings.

jetform settings
  • Fields Layout allows you to pick between “Column” and “Row” options. The first one places the field bar under the label, and the second puts them in one line;
  • Required Mark is a symbol that will be displayed near required fields;
  • Submit Type can work on “Page Reload” or “AJAX.” You can select the second one if you don’t want to reload the page;
  • Enable form pages progress if you have made a multi-step form with Form Break Field to set a step indicator above the form.

The next step is Captcha Settings. Learn more about them in our Form reCAPTCHA customization video tutorial.

Mind that the following step, Post Submit Actions, is significant. Choose in which way you will receive information about submitting a form by a user.

As we create a Subscribe Form, we can use several submit actions in one form. Let’s integrate the “Send Email” and “MailChimp” options.

“Send Email” post submit action

To customize “Send Email” accordingly, check our detailed overview. Edit action to set it for correct work.

send email post submit action editing

For instance, in the Content tab, you can put the data input by the user. In our case, it is the first name and email address.

The example text can look like this: 

“Hi, admin!

There is a new subscription on your website.

Subscription details:

Name: %first-name%

Email: %e-mail%”,

where %first-name% and %e-mail% stand for the user’s input information.

Once you have updated the Send Email Post Submit Action, let’s adjust MailChimp Post Submit Action.

“MailChimp” post submit action

MailChimp will help to manage the Subscribe Form as well.

mailchimp post submit action editing

Edit the action, update it, and proceed to the following settings if needed. 

Enable Preset Settings and change the General Messages values, or leave them default. 

Publish the form and move to the page where you want to locate the form. It can be either Elementor or Gutenberg edited pages.

Attach form to the page

Place the JetForm block in the editor and select the form you have just created.

jetform page editor

Adjust the Form and Advanced Settings. Note that the page editor settings will not overwrite the form settings. So if you have already established them while creating the form, there will be no point in doing it in the page editor one more time.

Publish the page and go to check how it looks like on the front-end.

subscribe form front-end

The work is done. Now the free WordPress subscription form is ready for further use.

Build a compact WordPress Registration Form allowing users to sign up and get a profile page in no time.

Registration forms help website owners to convert one-time visitors into registered users. They prove to be highly efficient for user data collection and mailing list creation.

Keep the WordPress custom registration form simple and make it quick to submit. With the Register Form” Pattern, you get a signup form layout in one button click. Proceed to style the form blocks and set post-submit actions, and it’s good to go.

  • Keep the form concise by adding only necessary fields like “Name, “Email, “Password,” and “Confirm Password;
  • Add required fields for the essential questions only;
  • Prevent spam during user registration with reCAPTCHA v3 validation;
  • Provide the Success, Validation, and Error Messages during form submission;
  • Boost visitor engagement by carefully styling form fields and buttons;
  • Collect user data and sync to MailChimp, GetResponse, Active Campaign, Zapier, and Integromat.
  • Name — a required Text Field for filling in the user name;
  • Email — a required Text Field for filling in the user email;
  • Password — a required Text Field for filling in the password for the first time;
  • Confirm Password — a required Text Field for filling in the same password for confirmation;
  • Country — a Select Field for choosing the country from the drop-down list;
  • Submit — the Action Button (formerly Submit Field) to submit a registration form.

The first and primary step is adding a new form. Navigate to WordPress Dashboard > JetForms > Add New.

The editor presents some default blocks – these are Hidden, Text, and the Action Button (formerly Submit Field). They can be customized or deleted.

Mainly, there are two ways of creating the Register Form — by manually adding separate blocks or using patterns. Patterns are a WordPress feature that allows the use of already existing content layouts.

The JetFormBuilder plugin provides its own Patterns functionality with a set of patterns. To use one, open the Block Inserter by toggling the plus-shaped icon and navigate to Patterns. Open the JetForms tab and find the “Register Form” Pattern.

adding the register form pattern in block editor

This layout consists of blocks that can be either changed or deleted. Furthermore, Patterns allow adding other blocks to the layout. For instance, the “Register Form” Pattern consists of the following fields:

  • Image — upload a picture in this block;
  • Text Fields — there are four of them responsible for “Name,” “Email,” “Password,” and “Confirm Password”;
  • Select Field — user can choose a “Country” from the drop-down list;
  • Action Button (formerly Submit Field) — allows to collect and submit all the input data by clicking on the button.

Let us review these blocks and their customization options.

Image block

A Register form should be made as convenient for the user as possible. Customizing a picture is a good starting point.

image block settings in gutenberg

The Block tab on the right includes the following sections:

  • Styles — choose between the “Default” and “Rounded” options to shape the image;
  • ALTERNATIVE TEXT — write the description of the image;
  • ASPECT RATIO — adjust the image to specific width-to-height ratios;
  • WIDTH and HEIGHT — type values manually or set a percentage that will automatically crop the image.

You can also check Advanced settings that include additional customization options.

Text field block

WordPress registration form is all about the input data. Therefore, a Text Field is a multi-functional feature. Let’s take a closer look at its settings.

text field block settings in jetformbuilder
  • FIELD LABEL — a name that informs the user about the type of needed information. As an example, it can represent a “Username,” “Password,” or any other data;
  • FORM FIELD NAME — a slug name that becomes an ID. It can replicate or correspond to the FIELD LABEL. It should comply with all the requirements, containing only Latin lowercase letters, numbers, hyphens, and underscores. Another rule is to avoid spaces. Use hyphens and underscores to divide words logically;
  • FIELD DESCRIPTION — supplemental information that will appear under the field. This description should provide instructions on what users should enter into the field;
  • DEFAULT VALUE — can pull out user or post data dynamically. For instance, if the user is logged in, the DEFAULT VALUE feature can fetch the user’s email, name, etc. However, this field is unnecessary when creating a website registration form, as its primary purpose is to register users whose information is unknown at the time;
settings for value and field type in the text field of jetformbuilder
  • FIELD TYPE — define the kind of data that should be written in the field. There are five options such as “Text,” “Email,” “Url,” “Tel,” and “Password”;
  • MIN LENGTH and MAX LENGTH — specify the number of characters that can be put in the field;
  • Set Input Mask — change the default input format into the specific one, pick a MASK TYPE, MASK VISIBILITY, and MASK PLACEHOLDER.
advanced block settings of the text field
  • VALIDATION TYPE — the way in which the user input will be validated. For more information, refer to our Advanced Form Validation article;
  • BLOCK NAME — the name of the current block;
  • PLACEHOLDER — a short hint displayed before the user starts typing in the field. It describes the expected input value;
  • Add Prev Page Button — enable it if Form Break Field is used. It lets a user return to the previous page;
  • FIELD VISIBILITY — choose to make this field visible to all, only to logged-in or not-logged users;
  • CSS CLASS NAME — type in a CSS class name to target the field with CSS.

The Block Toolbar above the Text Field provides some additional settings. Among the native block settings, there are two JetFormBuilder-specific features.

make the form field required by pressing asterisk-shaped button in the block toolbar

Select field block

This block lets the user choose from the diverse drop-down menu options. The selection proposed by this layout is a list of countries, but you can change the options of this block or delete it. 

To customize the options of the Select Field, click on the field and press the “Manage items” button.

manage items of the select field of jetformbuilder

Then, click on the pencil-shaped icons to edit the options or push the “Add new Option” button to add a new option.

managing options of the select field

Each option must have a human-readable LABEL and a VALUE. The CALCULATE value represents the calculated value of the current option in a Calculated Field.

Once you finish managing the options, click the “Update” button to close this window.

If the options need to be generated dynamically, switch the “Manual Input” type to one of the available options — “Posts,” “Terms,” “Meta Field,” or “Generate Dynamically.” Read more about them in our “Multi-Optional Field Source Settings” guide.

fill options of the select field dynamically

Next, let’s take a look at the Block Toolbar. Among the default block options, there are two JetFormBuilderspecific features:

  • An asterisk-shaped button that makes the field required to fill in;
  • A button shaped as two arrows, which enables an automatic transition to the next page in the form once an option is selected in the Select Field. This feature is useful in multi-step forms. Read more about multi-step forms in the “WordPress Multi-Step Form with Step Indicator” tutorial.
select field toolbar options

Finally, proceed to edit the block’s settings. They are practically the same as the Text Field settings. You can read about them earlier in this tutorial.

select field settings in jetformbuilder

Action Button (formerly Submit field)

Submitting a WordPress form is the final and the most crucial action during the registration. Editing button for this function will take just a couple of minutes.

The settings of the button repeat some of the Text Field block settings. You can return to their description in this tutorial.

After editing all the block settings, you may want to style them accordingly. Gutenberg forms have no styling options, so you may want to use the JetStyleManager plugin to style the Register Form.

JetForm Settings

Apart from the standard block settings, you can edit JetForm settings that apply to the entire WordPress form. 

Find them next to the Block settings.

form settings of a jetformbuilder sign-up form

The Form Settings section provides such features:

  • FIELDS LAYOUT — pick the positioning of the field bar and the field label. You can set “Column” or “Row” options. In the first case, the label will be displayed over the bar, while in the second one, they will be in the same row;
  • REQUIRED MARK — you can either leave this field empty to represent required fields with an asterisk symbol or set another mark;
  • FIELDS LABEL HTML TAG — select the HTML tag that will represent the field label. The default tag is LABEL;
  • SUBMIT TYPE — specify what action will be carried out after pressing the Action Button (formerly Submit Field). Choose between “Page Reload” and “AJAX,” which will not reload the page;
  • Enable form pages progress — enable the toggle if you work with the Form Break Field. If the form is divided into parts, the progress bar will be adjusted. This bar will show in which part of the form the user is;
  • Clear data on success submit — clear all input values of the form after a successful submission.

Note that most of the settings in the Form Settings section are available in the JetForm widget or block. Later in this tutorial, we will describe how to display a form in Elementor or Block Editor using the JetForm widget or block, the settings of which take precedence. Customizing the Form Settings section is appropriate if the form is to be displayed with a shortcode. 

Additionally, you can configure Validation settings by following our “Advanced Form Validation” tutorial. Captcha Settings is also an option for the Register Form creation. Learn more about all the available types of Captcha validation in our article on “Captcha Settings.” 

When moving on to Post Submit Actions, ensure you choose the “Register User” option to create the Register Form. You can edit this action by clicking the pencil-shaped button under the drop-down menu. Read more about Register User Submit Action in our tutorial.

You can add more actions. For instance, send an email when the user has been registered. Watch the following Post Submit Actions overview to find out more about other options.

Preset Settings let you choose the source for a global form preset, and General Messages Settings are responsible for different types of notifications. These will be shown in specific cases that can emerge while completing a form. 

When you are done with all the form customizations, click the “Publish” button, and feel free to add the Register Form to the page. 

You can add a JetForm block in the Gutenberg editor or create an Elementor registration form using the JetForm widget. Also, it is possible to display a form with a shortcode. Learn more about the ways to integrate JetFormBuilder with any page builder in our “Adding the Form Block” article.

display a jetformbuilder form with a jetform block in block editor

In the JetForm block, choose the form that you have just created and proceed to the following settings. You may notice that these settings replicate the ones described previously; however, the settings of the JetForm block take precedence.  

Click the “Publish” button once you are done with editing. Now, the WordPress registration form is ready.

Creating a Registration Form From Scratch

Above, we described how to create a Registration Form using Patterns. You can build your layout with field blocks if you wish to create a fully custom registration form without using ready-made templates.

The first step is adding a new form. Navigate to WordPress Dashboard > JetFormBuilder > Forms > Add New.

The editor already has some default blocks: a Hidden Field, a Text Field, and the Action Button (formerly Submit Field). You can customize them according to your needs or remove them.

There are four obligatory fields in a typical register form – “User Login,” “Email,” “Password,” and “Confirm Password.” These are required fields for the “Register User” post-submit action. Let’s start building the form by adding them.

First, add a Text Field block (or use the existing one). To add a new block, open the Block Inserter by clicking the plus-shaped icon and search for the “Text Field.”

add a text field with block inserter

Once the needed field is added, proceed to the Block settings in the right sidebar. Add a FIELD LABEL to this block and a FORM FIELD NAME. The name of the field should comply with all the requirements, containing only Latin lowercase letters, numbers, hyphens, and underscores. Other block settings are optional. Find a detailed description of each option in the Text Field guide.

adding user login to a registration form

Then, add another Text Field block for the email address. Assign this block a FIELD LABEL and a FORM FIELD NAME and scroll down to the Field section. For the FIELD TYPE, choose “Email” to add validation for this input type. The rest of the settings are optional.

adding an email address field to a registration form

After that, add two more Text field blocks. Give the first block a label of “Password” and the second block a label of “Confirm Password”. Select “Password” as the Field type to ensure security.

adding password fields to a registration form

Finally, add the Action Button block that will allow the user to submit the form. Assign it a custom label.

Now, all the required fields are complete. You can continue adding different field types to the form if you need the user to provide additional information. For example, you could add a Media Field, a Radio Field, a Checkbox Field, or a Select Field to your form. Learn more about the multi-optional fields from our Multi-Optional Field Source Settings tutorial.

After building the form layout, proceed to the JetForm settings tab in the right sidebar and find the Post Submit Actions tab. Press the “New Action” button to add a “Register User” action. This action will be responsible for registering the user after successful form submission.

You can edit it by clicking the pencil-shaped button. Read more about configuring the Register User action in our tutorial.

adding a register user post-submit action in a registration form

n addition to registering the user, you may want the form to perform other actions. Click the “New Action” button to see the list of all available actions. For example, you can send an email to the registered user with the “Send Email” action.

Mind that all the actions are processed in the defined order. Therefore, each subsequent action is performed only under the condition that the previous action was processed successfully. If one of the actions returns an error, all the subsequent ones are canceled. In this way, the guest user will receive an email right after registration. The email will not be sent if something goes wrong during the registration process.

In the end, style the form. Gutenberg blocks have no styling options by default, but you can use our JetStyleManager plugin to style the registration form.

Adding a Payment Gateway to the Register Form

In case you build a website with paid memberships, adding a payment option to the registration process is a must. All the currently supported gateway options by JetFormBuilder forms are covered in our guide on “How to Configure Payment Gateways.” A gateway is triggered once the user submits the form.

After you have enabled and configured the payment gateway, you need to decide how the rest of the post-submit actions will be processed with regard to the payment status. For instance, you may want the registration process to run only after a successful payment; at the same time, you may need a custom email to be sent in case of a failed payment.

All of this is handled by Events. By adding events to the post-submit actions, you configure the scenario that will be performed before payment is processed on successful and failed payments.

jetformbuilder registration form with payment gateway

To add an Event to your post-submit action, click the “Edit Conditions & Events” button.

adding an event to a post-submit action

In the popup, proceed to the Events match tab. Select one or several events from the drop-down menu:

selecting an event from the list
  • DEFAULT.PROCESS — this is the moment when actions are processed. The current event will trigger the post-submit action before the payment gateway;
  • BAD.REQUEST — this event is executed after request processing in case some of the fields in the form return errors. For example, the action will be triggered if the user uploads a file to the Media Field in the wrong format or if the user exceeds the allowed number of files to upload. This event bypasses the DEFAULT.PROCESS event; 
  • DEFAULT.REQUIRED — this event is executed in any case. It is the last triggered event before the form response is submitted. The event runs even in case other post-submit actions are not processed successfully;
NOTE

If you set the DEFAULT.REQUIRED event to several actions, and one of your actions is the “Store Form Record” action, make sure to put the “Store Form Record” action the last in the row.

  • GATEWAY.SUCCESS — this one is executed after the user passes the checkout on the side of the payment system; if a payment is successful, the action will be triggered;
  • GATEWAY.FAILED — this is performed when the user returns from the checkout page of the payment system without making a payment.
NOTE

Mind that the “Store Form Record” action does not require any event.

It may be expected that a user should be registered on the site only after a successful payment. However, if the GATEWAY.SUCCESS event is given to the “Register User” action, the action won’t be executed successfully. Inputs entered by the user into the password fields are not stored by JetFormBuilder for security reasons. Therefore, deferring actions that require password inputs, such as the “Register User” action, are not possible until the payment is completed. However, there are two possible workarounds for this case.

Promoting the user after successful payment

To make the users register only after successful payment, the registration process should be split into two parts. Before payment is complete, the guest user will be registered as a Subscriber (or any other role with limited capabilities); after the payment is complete, the user will be promoted to a higher user role. To implement this kind of workaround, follow the steps below. 

Firstly, create a custom user role with limited access for users who haven’t finished the payment process. The permissions you grant to this user role depend on your business strategy. Alternatively, you can use the default WordPress Subscriber user role. 

After you decide on the user role that will be suitable for your business model, edit the “Register User” action by clicking on the pencil-shaped button underneath.

editing the register user action

Select the USER ROLE option for the newly registered user to your custom role or “Subscriber.”

giving subscriber role to the registered user

In the same editing screen, scroll down until you find the Log In User after Register and Add User ID to form data toggles. Enable these toggles to be able to use the ID of the newly created user in further post-submit actions.

adding user id to form data

Click the “Update” button to save the changes. 

After that, hit the “New Action” button and select a further action — “Update User.” This action will run after the successful payment. Click the pencil-shaped button under the “Update User” action to edit the post-submit action.

adding the update user action to a registration form

In the FIELDS MAP section, map the user_id field with the “User ID (will update this user)” action. This way, the action will update the user role of the newly registered user. Then, define the user role the customer should receive after the payment.

configuring update user action

After saving the changes, the last step is to assign the “Register User” action the DEFAULT.PROCESS event, and the “Update User” action — the GATEWAY.SUCCESS event.

adding events to the register user and the update user actions

As a result, the form will function by this workflow: after submitting the form, the user is registered as a lower-ranked user with limited access. Then, the user goes through the payment process, after which the user is promoted to a higher user role, and the registration is complete.

Generating the password automatically

Another possible way to integrate the “Register User” action with a payment gateway is to generate the user password automatically after successful payment. In this case, users won’t have to set a password manually during the registration — the password will be autogenerated for them. That password will be sent to users in an email after they complete the payment and register successfully. Later, they will be able to change it from their account.  

Start by removing the Text Field blocks with the “Password” FIELD TYPE because the password will not be defined by the user.

Then, click the pencil-shaped button under the “Register User” action.

register form with an auto-generated password

In the editing screen, map the Password and Confirm Password fields with the “Secure unique token” option. It will serve as an auto-generated password.

mapping password fields in the register user action with an auto-generated token

Save the changes. Since the “Register User” action should only be performed after successful payment, assign it the GATEWAY.SUCCESS event.

setting register user action on gateway success

The last step is to send the registered user an email with the generated password. Next, hit the “New Action” button and select a further action – “Send Email.” Click the pencil-shaped button under the “Send Email” action to modify its settings.

add a send email action to a registration form

For the MAIL TO field, choose the “Email from submitted form field” option; for the FROM FIELD, select your Email field; then, fill in the rest of the required fields according to the “Send Email” action guide.

setting up the send email user action

In the Content field area, enter a message that the user will receive after a successful registration. Don’t forget to include the generated password with the help of the %_jfb_verification_token% macro. To find the full list of available macros, click on the wrench-shaped icon near the Content input field.

adding a generated password to the email content

Update the action settings. To finish the setup, assign the “Send Email” action a GATEWAY.SUCCESS event.

giving the send email action a gateway success event

That’s it. Update the form to save the changes.