Appearance
Fields and their settings
Click a field on the Build tab and its settings open on the right. What you get depends on the kind of form and the type of field.
Where fields come from
| Form kind | The palette offers |
|---|---|
| Post form | The post type's basics, its taxonomies, every VX field, and Layout blocks |
| Standalone form | The field kit and Layout blocks |
| Product options form | The field kit and Layout blocks |
| Registration form | Account fields, VX's user fields, the field kit as More fields, and Layout blocks |
| Login form | Email or username, Password, Remember me, and Layout blocks |
| Password reset form | Email or username (step 1), New password (step 2), and Layout blocks |
The field kit
Standalone, product options, and registration forms can add fields of their own that belong to the form rather than to a post type.
| Type | Input |
|---|---|
| Text | A single-line text box |
| Text, validated as an email address | |
| Phone | Text, typed for phone keypads |
| Website | Text, validated as a web address |
| Number | A number box, with smallest, largest, and step |
| Paragraph | A textarea, with a row count |
| Dropdown | A select |
| Radio buttons | Radios, in 1–4 columns |
| Checkboxes | Checkboxes, in 1–4 columns |
| Date | A date picker |
| Time | A time picker |
| Yes / no switch | A switch |
| File upload | A drop area, one file or several |
Layout blocks
Three blocks that collect nothing:
| Block | What it is |
|---|---|
| Heading | A heading between sections |
| Text | A paragraph of explanation |
| HTML | Raw markup, rendered as is |
The HTML block accepts full markup from anyone with the unfiltered_html capability, and post-safe HTML from everyone else.
Settings every field shares
| Setting | What it does |
|---|---|
| Label | The field's label. Empty falls back to the field's own name |
| Placeholder | Shown inside the empty input, on types that have one |
| Help text | A hint under the input |
| Width | Full or Half. Two half-width fields sit side by side |
| Required | Whether it must be filled. VX's own required fields stay required |
| Show when | Conditional logic |
Icon
Text-like fields can carry an icon inside the input. Nineteen are built in:
user · mail · lock · phone · globe · at · home · calendar · hash · search · pin · card · dollar · link · clock · star · heart · file · message
Prefix and suffix
Before the input and After the input add fixed text in their own boxes either side of the field — $ before a price, per month after it.
Settings by type
Number
| Setting | What it does |
|---|---|
| Smallest | Minimum accepted value |
| Largest | Maximum accepted value |
| Step | The increment |
Text and paragraph
| Setting | What it does |
|---|---|
| Character limit | A maximum length, counted as the visitor types |
| Rows | How tall a paragraph field starts, up to 30 |
Choices — dropdown, radio, checkboxes
Choices are a list of value/label pairs. Leave the value empty and the label is used as the value.
Columns lays radios and checkboxes out in 1 to 4 columns. It does not apply to dropdowns.
For a post form, choice fields take their choices from VX — you are editing the label and layout, not the choices themselves.
File upload and gallery
| Setting | What it does |
|---|---|
| Accepted types | Extensions, grouped by kind. Type any extension and press Enter to add one that is not listed |
| Largest file, MB | Per file. 0 means the site's own upload limit |
| Allow several files | Turns one file into many |
| Fewest files / Most files | Bounds on how many, up to 200 |
The accepted-type list is filtered by what the field can hold: an image field offers image extensions, an SVG field offers SVG, a generic upload offers everything.
Consent — the terms box on a registration form
| Setting | What it does |
|---|---|
| Wording | What the checkbox says |
| Link | Makes the wording a link, opened in a new tab |
What a visitor gets, per VX field type
On a post form each VX field renders as the input that suits it:
| VX field | On the form |
|---|---|
| Text, email, URL, phone | A text input of the matching type |
| Textarea, rich text | A textarea |
| Number, stepper, slider | A number input |
| Select, radio, button group | A dropdown or radios |
| Multiselect, checkboxes | Checkboxes |
| Switch | A switch |
| Date, date-time, time | A picker |
| Color | A color input |
| Image, SVG, video, audio | An upload area |
| Gallery | A multi-file upload area |
| Taxonomy | A term list |
| Related posts, related users | A search box that looks up as you type |
| Group | Its sub-fields, together |
| Repeater | Rows the visitor can add and remove |
Every one of them is written through VX's runtime, so the value that lands is the value VX would have stored from its own editor.
Long content belongs elsewhere
A front-end form is a poor place for a full rich-text editor. Where a post needs real body content, consider giving the visitor a paragraph field for a summary and letting an editor write the rest in wp-admin.

