Frontend Submissions - Form Builder
Frontend Submissions uses a number of forms that need to be created by the site owner for use by the Vendors. FES facilitates this by including a full featured Form Builder.
If you're familiar with some other common form builders like Gravity Forms, Ninja Forms, or Caldera Forms then you'll note that the FES form builder is similar, but not exactly the same.
Pushing buttons like those on the right will produce meta boxes like those below.
With a few exceptions you may add two types of fields: built-in WordPress fields and totally custom fields.
Built-in field examples would be things like TItle, Body, Featured Image, First Name, Last Name, Nickname, etc. These are all things you'll find in either Posts or Users.
Totally custom fields would be a generic textarea to describe something, or a set of radio buttons for making a choice.
Below is one of the simplest built-in fields, Title.
The "Default value" will pre-fill the field with that value. The "Placeholder text" will look similar, but the value won't actually be in the field, it'll merely look like it.
The "CSS Class Name" gives the field that class name so that you can style it specially.
Another common built-in is the Body, which can act exactly like a Post body. Some nice differences are:
- You have the ability to use the Rich Text Editor, Teeny Rich Text Editor, or plain text.
- You can choose whether to allow media uploads
A custom field would be a traditional HTML form field, but one that doesn't save its data in a pre-defined WordPress location like Title and Body.
Below is an example of a plain text input field. Because this is a custom field the data will get saved in a Meta table in WordPress, and therefore MUST HAVE a Meta Key. If you don't put one in the builder form won't save your form. Repeat Field
The repeat field is a plain text input field except there's a small link on the right to make as many copies as the Vendor wishes.
Another option is to make multiple fields per row. Below is an image as an example showing two columns for names.
And then here's how it looks on the front if the Vendor had chosen to Repeat 2 extra rows.
The very simplest custom field is a hidden field. All it accepts are a Meta Key and Meta Value.
We mentioned above that there are a few exceptions to the two primary types of fields.
Below is a Multiple Pricing field. It does NOT take a Meta Key because it's hard coded into the field, and you may not have more than one of these in your form. The settings above would provide a front-end interface like this:
Another pre-defined field is Terms And Conditions, seen below. Terms and Conditions simply renders the contents of the fields above and renders a radio button for accepting or declining.
The Do Action button doesn't make a form field, it inserts a location for you to create a hook. Instructions for using it are included in the form builder itself, as seen below. Data Storage
The Registration form creates a WordPress user, and so all meta information is stored in the usermeta WordPress table.
The Profile form is also related to users, so its meta information is also stored in the usermeta WordPress table.
The Submission form stores its data in a custom content type in the WordPress posts table, so all meta data is stored in the postmeta WordPress table.