{"id":3041,"date":"2025-12-27T21:03:53","date_gmt":"2025-12-27T21:03:53","guid":{"rendered":"https:\/\/www.swiftcommerce.io\/help\/?post_type=docs&#038;p=3041"},"modified":"2026-11-07T11:43:39","modified_gmt":"2026-11-07T11:43:39","password":"","slug":"field-editor","status":"publish","type":"docs","link":"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/","title":{"rendered":"Field Editor"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Use Checkout Field Editor to edit classic checkout fields and collect additional order details. Free includes basic custom fields and validation; Pro adds advanced types, conditional rules and protected uploads. Checkout Blocks support a smaller set of custom order fields.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n<p class=\"wp-block-paragraph\"><strong>Checkout compatibility:<\/strong> WooCommerce Checkout Blocks supports custom order text, select, and checkbox fields. Changes to core checkout fields, address-only fields, conditional fields, content fields, and file uploads require classic checkout. Check which checkout your store uses before creating fields.<\/p>\n\n\n<h3 class=\"wp-block-heading\">What is the Checkout Field Editor?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On classic checkout, Checkout Field Editor provides these controls:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Add new fields<\/strong>&nbsp;to collect additional information (delivery instructions, gift messages, custom data)<\/li>\n\n\n\n<li><strong>Edit existing fields<\/strong>&nbsp;\u2013 change labels, placeholders, and validation rules<\/li>\n\n\n\n<li><strong>Reorder fields<\/strong>&nbsp;using intuitive drag-and-drop<\/li>\n\n\n\n<li><strong>Hide or disable fields<\/strong>&nbsp;you don&#8217;t need<\/li>\n\n\n\n<li><strong>Organize fields into sections<\/strong>&nbsp;\u2013 Billing, Shipping, Additional Information, and Order Notes<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Getting Started<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to&nbsp;<strong>Swift Commerce \u2192 Checkout Fields<\/strong>&nbsp;in your WordPress admin<\/li>\n\n\n\n<li>Toggle&nbsp;<strong>Enable Field Editor<\/strong>&nbsp;to activate the feature<\/li>\n\n\n\n<li>Use the&nbsp;<strong>Editor<\/strong>&nbsp;tab to manage fields visually<\/li>\n\n\n\n<li>Use the&nbsp;<strong>Settings<\/strong>&nbsp;tab to configure global options<\/li>\n\n\n\n<li>Click&nbsp;<strong>Save Changes<\/strong>&nbsp;when done<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Editor Tab<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Editor tab is your visual workspace for managing all checkout fields. It displays fields organized by section with full drag-and-drop support.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-10-1024x570.png\" alt=\"\" class=\"wp-image-3262\" srcset=\"https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-10-1024x570.png 1024w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-10-300x167.png 300w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-10-768x427.png 768w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-10-1536x855.png 1536w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-10-360x200.png 360w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-10.png 1707w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Quick Add Fields<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Add new fields instantly using the Quick Add toolbar at the top of the editor.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field Type<\/th><th>Description<\/th><th>Availability<\/th><\/tr><\/thead><tbody><tr><td>Text<\/td><td>Single-line text input<\/td><td>Free<\/td><\/tr><tr><td>Number<\/td><td>Numeric input with validation<\/td><td>Free<\/td><\/tr><tr><td>Email<\/td><td>Email address with format validation<\/td><td>Free<\/td><\/tr><tr><td>Phone<\/td><td>Telephone number input<\/td><td>Free<\/td><\/tr><tr><td>Password<\/td><td>Password input (masked)<\/td><td>Free<\/td><\/tr><tr><td>Hidden<\/td><td>Hidden field (not visible to customers)<\/td><td>Free<\/td><\/tr><tr><td>URL<\/td><td>Website URL input<\/td><td>Free<\/td><\/tr><tr><td>Textarea<\/td><td>Multi-line text area<\/td><td>Free<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pro Field Types<\/strong>&nbsp;(requires Swift Commerce Pro):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Select<\/td><td>Dropdown menu with options<\/td><\/tr><tr><td>Multi Select<\/td><td>Select multiple options<\/td><\/tr><tr><td>Radio<\/td><td>Radio button group<\/td><\/tr><tr><td>Checkbox<\/td><td>Single checkbox toggle<\/td><\/tr><tr><td>Checkbox Group<\/td><td>Multiple checkboxes<\/td><\/tr><tr><td>File Upload<\/td><td>Allow customers to upload files<\/td><\/tr><tr><td>Date<\/td><td>Date input field<\/td><\/tr><tr><td>Time<\/td><td>Time input field<\/td><\/tr><tr><td>Date &amp; Time<\/td><td>Combined date and time picker<\/td><\/tr><tr><td>Month<\/td><td>Month selection<\/td><\/tr><tr><td>Week<\/td><td>Week selection<\/td><\/tr><tr><td>Date Picker<\/td><td>Advanced calendar picker<\/td><\/tr><tr><td>Time Picker<\/td><td>Advanced time picker<\/td><\/tr><tr><td>Heading<\/td><td>Section heading (display only)<\/td><\/tr><tr><td>Label<\/td><td>Static label text<\/td><\/tr><tr><td>Paragraph<\/td><td>Descriptive paragraph text<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Checkout Sections<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Fields are organized into four sections:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Section<\/th><th>Description<\/th><th>Default Fields<\/th><\/tr><\/thead><tbody><tr><td><strong>Billing<\/strong><\/td><td>Customer billing address and contact info<\/td><td>First Name, Last Name, Company, Country, Address, City, State, Postcode, Phone, Email<\/td><\/tr><tr><td><strong>Shipping<\/strong><\/td><td>Shipping destination address<\/td><td>First Name, Last Name, Company, Country, Address, City, State, Postcode<\/td><\/tr><tr><td><strong>Additional Information<\/strong><\/td><td>Custom fields for extra data collection<\/td><td>Empty by default<\/td><\/tr><tr><td><strong>Order Notes<\/strong><\/td><td>Customer notes about their order<\/td><td>Order Comments<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Section Controls<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Each section card provides:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Expand\/Collapse<\/strong>&nbsp;\u2013 Toggle section visibility in the editor<\/li>\n\n\n\n<li><strong>Enable\/Disable<\/strong>&nbsp;\u2013 Hide entire sections from checkout<\/li>\n\n\n\n<li><strong>Field Count<\/strong>&nbsp;\u2013 Shows total and enabled field counts<\/li>\n\n\n\n<li><strong>Add Field<\/strong>&nbsp;\u2013 Button to add new fields to the section<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Managing Individual Fields<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Field Card Display<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Each field shows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Icon<\/strong>&nbsp;\u2013 Visual indicator of field type<\/li>\n\n\n\n<li><strong>Label<\/strong>&nbsp;\u2013 The field&#8217;s display name<\/li>\n\n\n\n<li><strong>Required Badge<\/strong>&nbsp;\u2013 Red badge if field is required<\/li>\n\n\n\n<li><strong>Core Badge<\/strong>&nbsp;\u2013 Gray badge for WooCommerce default fields<\/li>\n\n\n\n<li><strong>Field Type<\/strong>&nbsp;\u2013 Text, Email, Select, etc.<\/li>\n\n\n\n<li><strong>Field Key<\/strong>&nbsp;\u2013 The unique identifier (e.g.,&nbsp;<code>billing_email<\/code>)<\/li>\n\n\n\n<li><strong>Width<\/strong>&nbsp;\u2013 100%, 50%, or 33%<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Field Actions<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Hover over any field to reveal action buttons:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Action<\/th><th>Icon<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Enable\/Disable<\/td><td>Eye\/EyeOff<\/td><td>Toggle field visibility on checkout<\/td><\/tr><tr><td>Edit<\/td><td>Pencil<\/td><td>Open detailed field editor dialog<\/td><\/tr><tr><td>Duplicate<\/td><td>Copy<\/td><td>Create a copy of the field<\/td><\/tr><tr><td>Delete<\/td><td>Trash<\/td><td>Remove the field (custom fields only)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> Core WooCommerce fields cannot be deleted, but supported fields can be disabled in Free on classic checkout. This does not hide the core address fields in Checkout Blocks.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Drag and Drop Reordering<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Field Editor Dialog<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Clicking the Edit button opens a comprehensive dialog with four tabs:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">General Tab<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Label<\/td><td>The text displayed above or beside the field<\/td><\/tr><tr><td>Field Key<\/td><td>Unique identifier used in code and database<\/td><\/tr><tr><td>Placeholder<\/td><td>Ghost text shown inside empty fields<\/td><\/tr><tr><td>Description<\/td><td>Help text displayed below the field<\/td><\/tr><tr><td>Default Value<\/td><td>Pre-filled value when checkout loads<\/td><\/tr><tr><td>Width<\/td><td>Full (100%), Half (50%), or Third (33%)<\/td><\/tr><tr><td>CSS Class<\/td><td>Custom class names for styling<\/td><\/tr><tr><td>Field Enabled<\/td><td>Toggle to show\/hide this field<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Validation Tab<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Required Field<\/td><td>Make this field mandatory<\/td><\/tr><tr><td>Min Length<\/td><td>Minimum character count (text fields)<\/td><\/tr><tr><td>Max Length<\/td><td>Maximum character count (text fields)<\/td><\/tr><tr><td>Min Value<\/td><td>Minimum number (number fields)<\/td><\/tr><tr><td>Max Value<\/td><td>Maximum number (number fields)<\/td><\/tr><tr><td>Validation Pattern<\/td><td>Predefined or custom regex pattern<\/td><\/tr><tr><td>Error Message<\/td><td>Custom message when validation fails<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Available Validation Patterns:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Pattern<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>None<\/td><td>No pattern validation<\/td><\/tr><tr><td>Letters only<\/td><td>Alphabetic characters only<\/td><\/tr><tr><td>Numbers only<\/td><td>Numeric characters only<\/td><\/tr><tr><td>Alphanumeric<\/td><td>Letters and numbers<\/td><\/tr><tr><td>Canadian postal code<\/td><td>Format: A1A 1A1<\/td><\/tr><tr><td>US ZIP code<\/td><td>Format: 12345 or 12345-6789<\/td><\/tr><tr><td>UK postcode<\/td><td>Standard UK format<\/td><\/tr><tr><td>Custom pattern<\/td><td>Define your own regex<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Options Tab (For Select, Radio, Checkbox Group)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Manage the choices available in selection fields:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Add Option<\/strong>&nbsp;\u2013 Create a new choice<\/li>\n\n\n\n<li><strong>Label<\/strong>&nbsp;\u2013 Display text shown to customers<\/li>\n\n\n\n<li><strong>Value<\/strong>&nbsp;\u2013 Internal value stored in the database<\/li>\n\n\n\n<li><strong>Set as Default<\/strong>&nbsp;\u2013 Pre-select this option<\/li>\n\n\n\n<li><strong>Reorder<\/strong>&nbsp;\u2013 Drag to change option order<\/li>\n\n\n\n<li><strong>Delete<\/strong>&nbsp;\u2013 Remove an option<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Advanced Tab<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Autocomplete<\/td><td>Browser autocomplete attribute (e.g.,&nbsp;<code>given-name<\/code>,&nbsp;<code>email<\/code>)<\/td><\/tr><tr><td>Rows<\/td><td>Number of rows for textarea fields<\/td><\/tr><tr><td>Allowed File Types<\/td><td>Comma-separated extensions for file uploads<\/td><\/tr><tr><td>Max File Size<\/td><td>Maximum upload size in MB<\/td><\/tr><tr><td>Min\/Max Date<\/td><td>Date range limits for date fields<\/td><\/tr><tr><td>Prefix<\/td><td>Text displayed before the input<\/td><\/tr><tr><td>Suffix<\/td><td>Text displayed after the input<\/td><\/tr><tr><td>Input Mask<\/td><td>Format mask (e.g.,&nbsp;<code>(999) 999-9999<\/code>&nbsp;for phone)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Input Mask Syntax:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>9<\/code>&nbsp;= Any digit (0-9)<\/li>\n\n\n\n<li><code>a<\/code>&nbsp;= Any letter (a-z, A-Z)<\/li>\n\n\n\n<li><code>*<\/code>&nbsp;= Any character<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Settings Tab<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Settings tab contains global configuration options that affect all checkout fields.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">General Settings<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>Enable Field Editor<\/td><td>When disabled, WooCommerce default checkout fields are used<\/td><td>Enabled<\/td><\/tr><tr><td>Enable Conditional Logic<\/td><td>Allow fields to show\/hide based on other field values<\/td><td>Enabled (Pro)<\/td><\/tr><tr><td>Enable Custom Validation<\/td><td>Apply supported custom validation patterns and limits (Free)<\/td><td>Enabled<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Display Settings<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Configure how fields appear on the checkout page.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>Show Field Labels<\/td><td>Display labels above form fields<\/td><td>Enabled<\/td><\/tr><tr><td>Show Placeholders<\/td><td>Display placeholder text inside fields<\/td><td>Enabled<\/td><\/tr><tr><td>Show Field Descriptions<\/td><td>Display help text below fields<\/td><td>Enabled<\/td><\/tr><tr><td>Required Field Indicator<\/td><td>Character to mark required fields<\/td><td><code>*<\/code><\/td><\/tr><tr><td>Indicator Position<\/td><td>Show indicator before or after the label<\/td><td>After<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Validation Settings<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Control how field validation behaves during checkout.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>Validate on Blur<\/td><td>Validate fields when user leaves them<\/td><td>Enabled<\/td><\/tr><tr><td>Validate on Submit<\/td><td>Validate all fields when form is submitted<\/td><td>Enabled<\/td><\/tr><tr><td>Show Errors Inline<\/td><td>Display error messages next to fields<\/td><td>Enabled<\/td><\/tr><tr><td>Scroll to First Error<\/td><td>Automatically scroll to the first error<\/td><td>Enabled<\/td><\/tr><tr><td>Highlight Error Fields<\/td><td>Add visual highlight to fields with errors<\/td><td>Enabled<\/td><\/tr><tr><td>Error Position<\/td><td>Display errors above or below the field<\/td><td>Below<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Address Override Settings<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Configure how address fields interact with saved customer data.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>Override Address Fields<\/td><td>Allow checkout fields to override saved address data<\/td><td>Disabled<\/td><\/tr><tr><td>Allow Billing Override<\/td><td>Users can override their saved billing address<\/td><td>Enabled<\/td><\/tr><tr><td>Allow Shipping Override<\/td><td>Users can override their saved shipping address<\/td><td>Enabled<\/td><\/tr><tr><td>Sync Billing &amp; Shipping<\/td><td>Keep billing and shipping addresses synchronized<\/td><td>Disabled<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">File Upload Settings (Pro)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Configure file upload behavior for file fields.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>Protected upload storage<\/td><td>Managed private checkout files; not ordinary public Media Library links<\/td><td><code>swift-commerce-private<\/code><\/td><\/tr><tr><td>Max Total Upload Size<\/td><td>Maximum total file size per checkout (MB)<\/td><td>10 MB<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Supported file types are configured per-field in the Pro settings:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Default allowed:&nbsp;<code>jpg, jpeg, png, pdf, doc, docx<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Import, Export &amp; Reset<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Action<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Export Settings<\/td><td>Download all field configurations as JSON<\/td><\/tr><tr><td>Import Settings<\/td><td>Upload a previously exported JSON file<\/td><\/tr><tr><td>Reset to Defaults<\/td><td>Restore all fields to WooCommerce defaults<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Warning:<\/strong>&nbsp;Reset cannot be undone. Export your settings first if you want to preserve them.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Conditional Logic (Pro)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Conditional logic allows you to show or hide fields based on the values of other fields.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How It Works<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Edit a field and go to the Conditional Logic section<\/li>\n\n\n\n<li>Enable conditional logic for the field<\/li>\n\n\n\n<li>Choose the action:&nbsp;<strong>Show<\/strong>&nbsp;or&nbsp;<strong>Hide<\/strong><\/li>\n\n\n\n<li>Set the logic mode:&nbsp;<strong>All rules<\/strong>&nbsp;(AND) or&nbsp;<strong>Any rule<\/strong>&nbsp;(OR)<\/li>\n\n\n\n<li>Add rules based on other field values<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Available Operators<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Operator<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Equals<\/td><td>Field value matches exactly<\/td><\/tr><tr><td>Does not equal<\/td><td>Field value doesn&#8217;t match<\/td><\/tr><tr><td>Contains<\/td><td>Field value includes the text<\/td><\/tr><tr><td>Does not contain<\/td><td>Field value excludes the text<\/td><\/tr><tr><td>Is empty<\/td><td>Field has no value<\/td><\/tr><tr><td>Is not empty<\/td><td>Field has a value<\/td><\/tr><tr><td>Greater than<\/td><td>Numeric comparison<\/td><\/tr><tr><td>Less than<\/td><td>Numeric comparison<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-11-1024x394.png\" alt=\"\" class=\"wp-image-3263\" srcset=\"https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-11-1024x394.png 1024w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-11-300x115.png 300w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-11-768x295.png 768w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-11-1536x591.png 1536w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-11-2048x788.png 2048w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-11-360x138.png 360w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<h2 class=\"wp-block-heading\">Before changing a live checkout<\/h2><ul class=\"wp-block-list\"><li>Identify whether the checkout page uses the classic shortcode or WooCommerce Checkout Block. A field that saves in the editor is not necessarily available in both.<\/li><li>For Checkout Blocks, test a custom order text, select, or checkbox field through order submission and inspect the order data.<\/li><li>For classic checkout, test core-field changes, conditional rules, address behavior, content fields and Pro uploads with both valid and invalid submissions.<\/li><li>Export your field configuration before bulk changes or imports. Importing settings can replace the current configuration; review the result before accepting orders.<\/li><\/ul>\n\n\n<h2 id=\"checkout-blocks-fields\" class=\"wp-block-heading\">Which fields work with Checkout Blocks?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Free registers compatible custom order text fields in Blocks. Text, number, email, phone and URL configurations use the Blocks text input; Pro also allows select and checkbox inputs. Textarea, hidden, date, upload and conditional fields are not registered in Blocks.<\/p>\n\n<ol class=\"wp-block-list\"><li>Open <strong>Swift Commerce \u2192 Checkout Fields \u2192 Editor<\/strong>. Add a custom field to <strong>Additional Information<\/strong> or <strong>Order Notes<\/strong>, not a billing-only or shipping-only section.<\/li><li>Keep the field and its section enabled. Use a supported type and leave the field&#8217;s conditional logic disabled.<\/li><li>Save the configuration. Open the actual Checkout Block page, complete a test order and inspect the saved answer in WooCommerce.<\/li><li>If the field is missing, check the section, type, enabled state and checkout type before changing the theme.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">Follow <a href=\"https:\/\/swiftcommerce.io\/how-to-add-custom-order-fields-to-woocommerce-checkout-blocks\/\">the Checkout Blocks custom order field tutorial<\/a>. For classic checkout, use the separate <a href=\"https:\/\/swiftcommerce.io\/add-conditional-fields-woocommerce-checkout\/\">conditional fields<\/a> and <a href=\"https:\/\/swiftcommerce.io\/add-file-upload-classic-woocommerce-checkout\/\">protected upload<\/a> tutorials.<\/p>\n\n\n<h2 id=\"saved-order-answers\" class=\"wp-block-heading\">Where are custom answers and uploads saved?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Supported custom answers are stored with the WooCommerce order. Classic values can be displayed in the admin order, customer order details and order emails; Blocks use WooCommerce&#8217;s additional-field handling. Verify the result in each context you rely on, rather than treating a successful field save as a successful order test.<\/p>\n\n\n<p class=\"wp-block-paragraph\">On classic checkout, Pro uploads are attached to their order. Download authorization checks store-management access, the order&#8217;s signed-in customer or a matching order key. Treat order links and keys as private. Test an allowed file, a rejected file type and an oversized file before accepting customer uploads.<\/p>\n\n\n<p class=\"wp-block-paragraph\">For the capability and edition overview, see <a href=\"https:\/\/swiftcommerce.io\/feature\/checkout-field-editor\/\">Checkout Field Editor for WooCommerce<\/a>.<\/p>\n\n\n\n<script type=\"application\/ld+json\" data-swift-commerce-documentation-schema=\"1\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/#article\",\"url\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/\",\"headline\":\"Field Editor\",\"description\":\"Set up Swift Commerce checkout fields, understand classic versus Blocks support, and test custom answers, conditional fields and protected uploads.\",\"inLanguage\":\"en\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/#webpage\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Swift Commerce\",\"url\":\"https:\/\/swiftcommerce.io\/\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/#webpage\",\"url\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/\",\"name\":\"Field Editor\",\"description\":\"Set up Swift Commerce checkout fields, understand classic versus Blocks support, and test custom answers, conditional fields and protected uploads.\",\"inLanguage\":\"en\",\"breadcrumb\":{\"@id\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Documentation\",\"item\":\"https:\/\/www.swiftcommerce.io\/help\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Checkout\",\"item\":\"https:\/\/www.swiftcommerce.io\/help\/docs-category\/checkout\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Field Editor\",\"item\":\"https:\/\/www.swiftcommerce.io\/help\/checkout\/field-editor\/\"}]}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Set up Swift Commerce checkout fields, understand classic versus Blocks support, and test custom answers, conditional fields and protected uploads.<\/p>\n","protected":false},"author":101,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"doc_category":[73],"doc_tag":[],"class_list":["post-3041","docs","type-docs","status-publish","hentry","doc_category-checkout"],"year_month":"2026-11","word_count":1559,"total_views":"139","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Mansoor Ahmad","author_nicename":"helpadmin","author_url":"https:\/\/www.swiftcommerce.io\/help\/author\/helpadmin\/"},"doc_category_info":[{"term_name":"Checkout","term_url":"https:\/\/www.swiftcommerce.io\/help\/docs-category\/checkout\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs\/3041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/users\/101"}],"replies":[{"embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/comments?post=3041"}],"version-history":[{"count":6,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs\/3041\/revisions"}],"predecessor-version":[{"id":3395,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs\/3041\/revisions\/3395"}],"wp:attachment":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/media?parent=3041"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/doc_category?post=3041"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/doc_tag?post=3041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}