Field Editor

7 min read

The Checkout Field Editor is a powerful tool that allows you to fully customize your WooCommerce checkout form. Add, remove, reorder, and modify fields to create a streamlined checkout experience tailored to your business needs.


Overview #

What is the Checkout Field Editor?

The Checkout Field Editor gives you complete control over the checkout fields displayed to your customers. You can:

  • Add new fields to collect additional information (delivery instructions, gift messages, custom data)
  • Edit existing fields – change labels, placeholders, and validation rules
  • Reorder fields using intuitive drag-and-drop
  • Hide or disable fields you don’t need
  • Organize fields into sections – Billing, Shipping, Additional Information, and Order Notes

Getting Started

  1. Navigate to Swift Commerce → Checkout → Field Editor in your WordPress admin
  2. Toggle Enable Field Editor to activate the feature
  3. Use the Editor tab to manage fields visually
  4. Use the Settings tab to configure global options
  5. Click Save Changes when done

Editor Tab #

The Editor tab is your visual workspace for managing all checkout fields. It displays fields organized by section with full drag-and-drop support.

Quick Add Fields

Add new fields instantly using the Quick Add toolbar at the top of the editor.

Field TypeDescriptionAvailability
TextSingle-line text inputFree
NumberNumeric input with validationFree
EmailEmail address with format validationFree
PhoneTelephone number inputFree
PasswordPassword input (masked)Free
HiddenHidden field (not visible to customers)Free
URLWebsite URL inputFree
TextareaMulti-line text areaFree

Pro Field Types (requires Swift Commerce Pro):

Field TypeDescription
SelectDropdown menu with options
Multi SelectSelect multiple options
RadioRadio button group
CheckboxSingle checkbox toggle
Checkbox GroupMultiple checkboxes
File UploadAllow customers to upload files
DateDate input field
TimeTime input field
Date & TimeCombined date and time picker
MonthMonth selection
WeekWeek selection
Date PickerAdvanced calendar picker
Time PickerAdvanced time picker
HeadingSection heading (display only)
LabelStatic label text
ParagraphDescriptive paragraph text

Checkout Sections

Fields are organized into four sections:

SectionDescriptionDefault Fields
BillingCustomer billing address and contact infoFirst Name, Last Name, Company, Country, Address, City, State, Postcode, Phone, Email
ShippingShipping destination addressFirst Name, Last Name, Company, Country, Address, City, State, Postcode
Additional InformationCustom fields for extra data collectionEmpty by default
Order NotesCustomer notes about their orderOrder Comments

Section Controls

Each section card provides:

  • Expand/Collapse – Toggle section visibility in the editor
  • Enable/Disable – Hide entire sections from checkout
  • Field Count – Shows total and enabled field counts
  • Add Field – Button to add new fields to the section

Managing Individual Fields

Field Card Display

Each field shows:

  • Icon – Visual indicator of field type
  • Label – The field’s display name
  • Required Badge – Red badge if field is required
  • Core Badge – Gray badge for WooCommerce default fields
  • Field Type – Text, Email, Select, etc.
  • Field Key – The unique identifier (e.g., billing_email)
  • Width – 100%, 50%, or 33%

Field Actions

Hover over any field to reveal action buttons:

ActionIconDescription
Enable/DisableEye/EyeOffToggle field visibility on checkout
EditPencilOpen detailed field editor dialog
DuplicateCopyCreate a copy of the field
DeleteTrashRemove the field (custom fields only)

Note: Core WooCommerce fields cannot be deleted, but they can be hidden. Hiding core fields requires Swift Commerce Pro.

Drag and Drop Reordering

Reorder fields within a section by dragging the grip handle on the left side of each field card. Fields will automatically update their priority order when dropped.

Field Editor Dialog

Clicking the Edit button opens a comprehensive dialog with four tabs:

General Tab

SettingDescription
LabelThe text displayed above or beside the field
Field KeyUnique identifier used in code and database
PlaceholderGhost text shown inside empty fields
DescriptionHelp text displayed below the field
Default ValuePre-filled value when checkout loads
WidthFull (100%), Half (50%), or Third (33%)
CSS ClassCustom class names for styling
Field EnabledToggle to show/hide this field

Validation Tab

SettingDescription
Required FieldMake this field mandatory
Min LengthMinimum character count (text fields)
Max LengthMaximum character count (text fields)
Min ValueMinimum number (number fields)
Max ValueMaximum number (number fields)
Validation PatternPredefined or custom regex pattern
Error MessageCustom message when validation fails

Available Validation Patterns:

PatternDescription
NoneNo pattern validation
Letters onlyAlphabetic characters only
Numbers onlyNumeric characters only
AlphanumericLetters and numbers
Canadian postal codeFormat: A1A 1A1
US ZIP codeFormat: 12345 or 12345-6789
UK postcodeStandard UK format
Custom patternDefine your own regex

Options Tab (For Select, Radio, Checkbox Group)

Manage the choices available in selection fields:

  • Add Option – Create a new choice
  • Label – Display text shown to customers
  • Value – Internal value stored in the database
  • Set as Default – Pre-select this option
  • Reorder – Drag to change option order
  • Delete – Remove an option

Advanced Tab

SettingDescription
AutocompleteBrowser autocomplete attribute (e.g., given-nameemail)
RowsNumber of rows for textarea fields
Allowed File TypesComma-separated extensions for file uploads
Max File SizeMaximum upload size in MB
Min/Max DateDate range limits for date fields
PrefixText displayed before the input
SuffixText displayed after the input
Input MaskFormat mask (e.g., (999) 999-9999 for phone)

Input Mask Syntax:

  • 9 = Any digit (0-9)
  • a = Any letter (a-z, A-Z)
  • * = Any character

Settings Tab #

The Settings tab contains global configuration options that affect all checkout fields.

General Settings

SettingDescriptionDefault
Enable Field EditorWhen disabled, WooCommerce default checkout fields are usedEnabled
Enable Conditional LogicAllow fields to show/hide based on other field valuesEnabled (Pro)
Enable Custom ValidationAllow custom validation patterns for fieldsEnabled (Pro)

Display Settings

Configure how fields appear on the checkout page.

SettingDescriptionDefault
Show Field LabelsDisplay labels above form fieldsEnabled
Show PlaceholdersDisplay placeholder text inside fieldsEnabled
Show Field DescriptionsDisplay help text below fieldsEnabled
Required Field IndicatorCharacter to mark required fields*
Indicator PositionShow indicator before or after the labelAfter

Validation Settings

Control how field validation behaves during checkout.

SettingDescriptionDefault
Validate on BlurValidate fields when user leaves themEnabled
Validate on SubmitValidate all fields when form is submittedEnabled
Show Errors InlineDisplay error messages next to fieldsEnabled
Scroll to First ErrorAutomatically scroll to the first errorEnabled
Highlight Error FieldsAdd visual highlight to fields with errorsEnabled
Error PositionDisplay errors above or below the fieldBelow

Address Override Settings

Configure how address fields interact with saved customer data.

SettingDescriptionDefault
Override Address FieldsAllow checkout fields to override saved address dataDisabled
Allow Billing OverrideUsers can override their saved billing addressEnabled
Allow Shipping OverrideUsers can override their saved shipping addressEnabled
Sync Billing & ShippingKeep billing and shipping addresses synchronizedDisabled

File Upload Settings (Pro)

Configure file upload behavior for file fields.

SettingDescriptionDefault
Upload DirectorySubfolder within wp-content/uploadscheckout-uploads
Max Total Upload SizeMaximum total file size per checkout (MB)10 MB

Supported file types are configured per-field in the Pro settings:

  • Default allowed: jpg, jpeg, png, pdf, doc, docx

Custom CSS (Pro)

Add custom CSS to style your checkout form. Use your browser’s inspector to find class names.

.woocommerce-checkout .form-row {
  /* Your custom styles */
  margin-bottom: 20px;
}

.woocommerce-checkout .form-row-wide {
  width: 100%;
}

Import, Export & Reset

ActionDescription
Export SettingsDownload all field configurations as JSON
Import SettingsUpload a previously exported JSON file
Reset to DefaultsRestore all fields to WooCommerce defaults

Warning: Reset cannot be undone. Export your settings first if you want to preserve them.


Conditional Logic (Pro) #

Conditional logic allows you to show or hide fields based on the values of other fields.

How It Works

  1. Edit a field and go to the Conditional Logic section
  2. Enable conditional logic for the field
  3. Choose the action: Show or Hide
  4. Set the logic mode: All rules (AND) or Any rule (OR)
  5. Add rules based on other field values

Available Operators

OperatorDescription
EqualsField value matches exactly
Does not equalField value doesn’t match
ContainsField value includes the text
Does not containField value excludes the text
Is emptyField has no value
Is not emptyField has a value
Greater thanNumeric comparison
Less thanNumeric comparison

Example Use Cases

Show gift message field when “This is a gift” checkbox is checked:

  • Target field: Gift Message (textarea)
  • Action: Show
  • Rule: is_gift equals checked

Show company VAT field only for specific countries:

  • Target field: VAT Number (text)
  • Action: Show
  • Rule: billing_country equals DE OR billing_country equals FR

How It Works #

Field Processing Flow

  1. Load Settings – Plugin reads saved field configuration on checkout page load
  2. Apply Modifications – WooCommerce filters are used to modify the default fields
  3. Render Fields – Fields are displayed according to your configuration
  4. Validate Input – Field validation runs on blur and/or submit
  5. Save Data – Custom field values are saved to order metadata
  6. Display in Admin – Custom field data appears in order details

Data Storage

Data TypeStorage Location
Field Configurationwp_options table (SWIFT_COMMERCE_checkout_field_editor)
Custom Field ValuesOrder meta (_billing_*_shipping_*_custom_*)
File Uploadswp-content/uploads/checkout-uploads/

WooCommerce Integration

The Checkout Field Editor integrates with WooCommerce using these hooks:

  • woocommerce_checkout_fields – Modify checkout field arrays
  • woocommerce_billing_fields – Modify billing fields specifically
  • woocommerce_shipping_fields – Modify shipping fields specifically
  • woocommerce_checkout_process – Validate custom fields
  • woocommerce_checkout_update_order_meta – Save custom field data

Troubleshooting #

Fields Not Appearing on Checkout

  1. Ensure Enable Field Editor is turned on in Settings
  2. Check that the field is Enabled (eye icon visible)
  3. Verify the field’s Section is enabled
  4. Check for conditional logic that may be hiding the field
  5. Clear any caching plugins

Validation Not Working

  1. Ensure Validate on Blur or Validate on Submit is enabled
  2. Check that the field has Required set if it should be mandatory
  3. Verify validation patterns are correctly formatted
  4. Check browser console for JavaScript errors

File Uploads Failing

  1. Check PHP upload_max_filesize and post_max_size limits
  2. Verify the upload directory is writable
  3. Ensure file type is in the allowed extensions list
  4. Check that file size is within configured limits

Core Fields Cannot Be Hidden

Hiding WooCommerce core fields (First Name, Last Name, Email, etc.) requires Swift Commerce Pro. This prevents accidentally breaking checkout for free users.

Changes Not Saving

  1. Check for JavaScript errors in browser console
  2. Ensure you have manage_woocommerce capability
  3. Verify REST API is accessible (/wp-json/swift-commerce/v1/)
  4. Check for plugin conflicts

Feature Comparison #

FeatureFreePro
Edit field labels & placeholders
Reorder fields (drag & drop)
Add basic field types (text, email, phone, etc.)
Validation (required, min/max length)
Export/Import configuration
Reset to defaults
Hide core WooCommerce fields
Advanced field types (select, radio, checkbox)
Date & Time pickers
File upload fields
Content fields (heading, paragraph)
Conditional logic (show/hide rules)
Custom validation patterns
Custom CSS
Input masks
Field prefixes/suffixes

Best Practices #

  1. Keep checkout simple – Only ask for information you truly need
  2. Use descriptive labels – Make it clear what each field requires
  3. Add placeholder text – Give examples of expected input
  4. Set appropriate widths – Use half-width for short fields like Name
  5. Test on mobile – Ensure fields are usable on small screens
  6. Export before major changes – Create a backup of your configuration
  7. Use conditional logic sparingly – Too many rules can confuse customers
  8. Validate thoughtfully – Balance security with user experience
Updated on December 28, 2025
Scroll to Top