ThemeHigh
  • Plugins
  • Documentation
  • Support
  • Partners
  • Login
  • Getting Started
    • Plugin Installation
    • Overview
    • Date, Time & Related Field Settings
    • Import/Export Checkout Fields
    • Managing Checkout Fields
    • Managing Checkout Section
    • Set Display Rules
    • Set Repeat Rules
    • Price Fields & Types
    • User Meta Data & Order Meta Data
    • Display Custom Fields
  • Classic and Block Checkout Editor
    • Classic and Block Checkout Editor
    • Why Your Checkout Fields Aren’...
  • Block Checkout Field Editor
    • Block Checkout Field Editor
  • Advanced Settings
    • Custom Fields in Address Format
    • Enable Address Autofill
    • Configure Locale Override Settings
    • Add Custom Fields to CSV Export
    • Display Custom Fields In PDF Invoices & Packing Slips
    • Zapier Support
    • Country, State, Province based Conditions
    • WPML Compatibility
    • Backup & Import Settings
    • Enhanced Select (Select2) for Select Fields
    • Enable Wrap Custom Sections with Div
    • Enable Heading/Label Field
    • Enable Review Panel Conditions
    • Enable Inline Validation in Chec...
    • Enable Conditional Rules Based Payment & Shipping Methods
    • WPML String Translations...
    • Add a New Custom Validation Rule
    • Add a New Confirm Field Validator
  • For Developers
    • Hooks & References...
    • Display Rules: Use cases and mor...
    • Repeat Rules: More use cases and...
    • Based on Checkout Fields: Use ca...
    • Override HTML Content: Examples...
    • Compatibility with “WooCom...
  • Compatible Plugin & Themes
    • Plugins & Themes...
  • Frequently Asked Questions
    • Frequently Asked Questions...
  • How
    • How To Display Fields In Order D...
    • How To Customise The Shipping Se...
    • How To Add Custom Fields In The ...
    • How to Add Custom Price Fields o...
    • How To Add A New Section To The ...
    • How To Display Custom Fields In ...
    • How to Show/Hide Fields Based On...
    • How To Set Repeat Rules On The C...

Documentation/Checkout Field Editor for WooCommerce/How to Add/Edit Custom Fields in WooCommerce Checkout Page?

How to Add/Edit Custom Fields in WooCommerce Checkout Page?

Last updated on May 26, 2026

To start adding custom fields, head to your WordPress dashboard, go to WooCommerce, and click Checkout Form to open the editor.

Here, you can see both Classic Checkout and Block Checkout Editors. By default, the editor opens in Classic mode. The editor is organized into three default sections – Billing, Shipping, and Additional Details. Also, create custom sections. For more details about the section, navigate to the Manage Sections page.

Please note we are discussing the fields in classic checkout.

Checkout Field Editor for WooCommerce plugin lets you add custom fields apart from the default ones. You can choose from over 24+ field types to your checkout form:

Basic Information Collection
  • Text
  • Hidden
  • Password
  • Telephone
  • Email
  • Number
  • Textarea
  • URL
Choice-Based Inputs
  • Select
  • Multi-select
  • Radio
  • Checkbox
  • Checkbox Group
Dates and Time Selection
  • Date Picker (jQuery UI)
  • Date
  • Datetime Local
  • Time Picker (jQuery)
  • Time
  • Week
  • Month
File Upload
  • File Upload
Checkout Content Structure
  • Heading
  • Label
  • Paragraph

Add New Field

Follow the steps below to add a new field to the checkout form.

Step 1: Open Checkout Fields

Navigate to:

WooCommerce → Checkout Form → Checkout Fields

Click the Add Field button.

Step 2: Configure the Field

Enter the field details.

For this example, we’ll create an Organization Name field.

  • Field Type: Text Field
  • Name: organization_name
  • Label: Organization Name

You can also fill in other settings as required.

Below is a detailed explanation of each option available in the Basic Info/Basic Details section.

Basic Info

This tab includes all the essential settings required to configure a checkout field. The properties available under the Basic Details section are listed below.
Please note that the available options may vary depending on the selected field type. Some settings appear only for specific field types.

Field Type

This defines the type of input field you want to create.

The plugin supports 24 field types, including Text, Password, Text Area, Select, Checkbox, Radio, Paragraph, URL, and others (as listed earlier on this page).

Choose the field type based on the type of information you want to collect from customers.

Name

The unique identifier of the field. Each field must have a unique name. No two fields can share the same name. It is used internally by WooCommerce and WordPress to save, retrieve, and process the field value.

⚠️ Note: Removing default WooCommerce fields (such as Billing Email or Country) may cause unexpected errors in the checkout process. Also, The field names prefixed with billing_ or shipping_ will automatically prefill with previous order field values. Some field names are reserved & usage will create unexpected errors.

Example:

For a Organization Name field, use: organization_name

Use lowercase letters and underscores instead of spaces.

Label

The visible title displayed above the field on the checkout page. It helps customers understand what information they need to provide.

Example: Organization Name

Description

Additional information displayed below the field label.

Example:
Enter your organization name here (if applicable)

Default Value

Allows you to prefill the field with a value that appears automatically when the checkout page loads. Customers can modify or replace this value as needed.

Placeholder

A short hint displayed inside the input field before the user enters a value. The placeholder disappears once the user starts typing.

Example:
For an email field, you may show: name@example.com

Max. Length

Specifies the maximum number of characters allowed in the field. For instance, if set to 30, the user cannot enter more than 30 characters.

Example:
Full Name (e.g., max 30)

Min. Length

Specifies the minimum number of characters required in the field. For instance, if set to 3, the user must enter at least 3 characters.

Example:
Full Name (e.g., min 3)

Validations

Allows you to apply validation rules to the field. During order placement, the entered value is validated against the defined validation rule or regular expression.

Built-in validators include: Email, Phone, Postcode, State, Number, Url

You can also create custom validation rules in the Advanced Settings section. Any custom validation rule defined there will appear in this dropdown.

Example : Field to enter a logo name which starts with capital letter only

To learn more, see Custom Validators documentation.

Required

If enabled, the field becomes mandatory. Customers must fill in this field to complete the checkout.

Example : License Agreement / Terms & Conditions

Enabled

Uncheck this option to temporarily disable the field without deleting it.

Example : Enable a field in a particular season only

Order Meta Data

Stores the field value as part of the order data. To create an order-specific field, enable the Order Meta Data checkbox.

This means:

  • The value is specific to each order.
  • It is saved in the wp_postmeta table as order metadata.

Example:
A Delivery Date field can be saved as Order Meta Data because it changes for every purchase.

User Meta Data

The user metadata is the information directly related to the user and will be the same for every order to a probability of 90%. Data. To create a user-level field, enable the User Meta Data checkbox.

This means:

  • The value remains the same across multiple orders.
  • It can be edited from the user profile page.
  • It is saved in the wp_usermeta table.

Example:
Date of Birth.

Refer the detailed page for more info on Order meta data and User meta data.

Where Custom Fields Appear in My Account

If User Meta Data is enabled,

  • Custom fields added under Billing or Shipping will appear in:
    My Account → Addresses → Billing/Shipping Address
  • Custom fields created in Additional Info or Custom Sections will appear in:
    My Account → Account Details

Properties Specific to Text and Telephone Fields

The following setting is available only for Text and Telephone field types.

Input Masking

Input Masking allows you to restrict the format in which customers enter data.
Instead of allowing free text, you can define a specific pattern that the input must follow. This helps ensure consistent formatting and reduces invalid entries.

Property Description
Mask Character: a Allows only alphabetic characters (A–Z, a–z).

Example Mask: aaa

Valid Input: ABC

Mask Character: 9 Allows only numeric digits (0–9).

Example Mask: 999

Valid Input: 123

Mask Character: * Allows alphanumeric characters (letters and numbers).

Example Mask: ***

Valid Input: A1B

Special Characters You can include special characters such as @, %, !, $, ^, – directly in the mask where required.

Example Mask: aa-999

Valid Input: AB-123

(Here, the hyphen – is a fixed character in the format.)

Complete Example Ensures a consistent telephone number format.

Mask: (99) 99999-9999

Valid Input: (12) 12345-1234

Advanced Pattern Supports length ranges.

Mask: a{1,3}-9{1,3}

Allows 1–3 letters, followed by a hyphen, followed by 1–3 digits.

Valid Input: abc-123

   Dynamic If set to Dynamic, the field accepts input in any format entered by the customer. No predefined pattern will be enforced.

 

Properties Specific to Select, Multiselect, Radio, and Checkbox Group Fields

The following properties apply only to Select, Multiselect, Radio, and Checkbox Group field types.

Property Description
Options Used to define the list of selectable choices that will be displayed to the customer. Each option contains the following settings:
Option Value The internal value (option key) used to store data in the database when the option is selected. This is not visible to customers and should be unique for each option. Example: express_delivery.
Option Text The label displayed to the customer on the checkout page. Example: Express Delivery (1–2 Days).
Price Allows you to assign an additional cost to this option. 
Price Type Defines how the additional cost is calculated. (Explained in detail in the Price Details section.)


Properties Specific to Select and Multiselect Fields

The following properties apply only to Select and Multiselect field types.

Property Description
Disable ‘Enhanced Select (Select2)’ for Select Field By default, Select fields use the enhanced Select2 dropdown, which includes search functionality, improved styling, and better usability for large option lists. Enabling this option reverts the field to a standard browser dropdown.
Maximum Selections Defines the maximum number of options a customer can select in a Multiselect field. For example, if set to 2, the customer can choose up to two options only.

Properties Specific to Date, Time, Month, Week, and Datetime Local Fields

Configure default values, minimum, and maximum limits for date, time, month, week, and datetime local field types. These properties control what values are pre-filled and what range is selectable on the checkout form.

Properties Specific to the jQuery UI Date Picker

Customize the date picker’s display format, default date, selectable date range, year dropdown, disabled days/dates, and more. These settings apply exclusively when the jQuery UI Date Picker is enabled.

Properties Specific to the Field Type: Time Picker (jQuery UI)

Set up time slots with configurable minimum/maximum times, step intervals, time format, preparation time (start time), linked date fields, and disabled time ranges. These settings apply only to the jQuery UI Time Picker field type.

Properties Specific to the Field Type: File Upload

The following properties apply only to the File Upload field type.

Property Description
Max Size (in MB) Specifies the maximum file size allowed for upload. Enter the size in megabytes (MB).

Example: If set to 5, users can upload files up to 5 MB only.

Accepted File Types Defines the file formats that are allowed for upload. Enter file extensions separated by commas.

Example: jpg, png, pdf, docx

This field allows customers to upload one or multiple files at once. Only files with the specified extensions will be accepted.

 

Note:
The uploaded file will be displayed as a clickable link on the Thank You page, Order Details page, and so on. So you can view the uploaded file by just clicking on the link, which will open in a new window

Properties Specific to Heading, Label, and Paragraph Fields

The following properties apply to the Heading, Label, and Paragraph field types.

Property Description
Title The main text content displayed as the heading.
Title Type Defines the HTML heading tag used for the title (e.g., H1, H2, H3, etc.).

Example: H2

The title will be displayed using the H2 heading tag.

Title Color Specifies the color of the title text.
Title Class A comma-separated list of CSS classes applied to the title element. This allows custom styling using your theme or custom CSS.
Subtitle The secondary text displayed below the main title.
Subtitle Type Defines the HTML tag used for the subtitle (e.g., H2, H3, etc.).
Subtitle Color Specifies the color of the subtitle text.
Subtitle Class A comma-separated list of CSS classes applied to the subtitle element for custom styling.


Note:
To display the heading/label field in emails, ensure that the option “Enable Heading/Label field display in emails” is enabled. You can find this option under Other Settings in the Plugin’s Advanced Settings tab.

Display Styles

This section allows you to control the appearance of the field and where it should be displayed after checkout.

Property Description
Wrapper Class A comma-separated list of CSS classes which will be added to the container that wraps the input

Example: For example, if color_red is added to the wrapper class, the class will be available in the wrapper element as <p  class=”color_red”>.

Further, this is simply a CSS class, so you can style it as follows:

.color_red{

color: red;

}

Input Class A comma-separated list of CSS classes which will be added to the input element.
Label Class Adds custom CSS classes to the field label. This allows you to style the label independently from the input field. Enter multiple classes separated by commas.
Display in Admin Emails If enabled, the field and its value will appear in all WooCommerce order emails sent to the store administrator.
Display in Customer Emails If enabled, the field and its value will appear in the customer’s Order Confirmation email and Thank You email.
Display in Order Detail Pages Displays the field and its value on the Order Details page in both the Admin Order View and the Customer View (My Account → Orders).
Display in Thank You Page If enabled, the field and its value will be shown on the Thank You page after checkout.


Note:

Use these settings to manage the visibility of custom fields across different areas of the store. You can choose to display a field in admin emails, customer emails, order details, or the thank you page. For instance, an Age Verification field can be shown only in admin emails for internal verification, while remaining hidden from customer-facing emails.

Price Details

This section allows you to apply additional charges based on the value selected or entered in the field.

Property Description
Price Adds an extra amount to the order total when the field is used. For example, you can charge an additional fee for services such as gift wrapping or custom tailoring.

 

Price Type Defines how the additional price is calculated. You can configure it as a fixed amount, dynamic value, custom calculation, or apply the charge based on specific conditions.
Taxable Determines whether the additional charge should be subject to tax. Enable this option if the extra fee must follow your store’s tax rules.
Tax Class Specifies which tax class applies to the additional charge. Options: Standard, Reduced rate, Zero rate. This controls how tax is calculated for this fee.

To learn more about price fields and their configuration, refer to the Price Fields article.

Display Rules

Use this tab to configure conditional display logic for the field. You can define rules to control when the field should be shown or hidden based on specific conditions. To learn more about setting up and configuring display conditions, refer to the Set Display Rules article.

Repeat Rules

Use this tab to configure repeat settings for the field. Repeat rules allow you to define how many times a field can be repeated or dynamically added by the user with certain rules. To learn more about configuring repeat behavior and available options, refer to the Repeat Rules article.

Edit Field
You can modify the properties of any field, including the default WooCommerce checkout fields.

To Edit a Field

  1. Navigate to WooCommerce → Checkout Form → Checkout Fields.
  2. Locate the field you want to edit.
  3. Click the edit icon next to the field.
  4. A popup window will appear displaying the field settings.
  5. Update the required properties.
  6. Click Save & Close to apply your changes.

Note:
Be cautious when editing default fields (such as Billing Email or Country). Removing or misconfiguring essential fields may affect the checkout process.

Delete Fields

To Delete a Field

  1. Navigate to WooCommerce → Checkout Form → Checkout Fields.
  2. Select the field(s) you want to delete by checking the box on the left side of each field.
  3. Click the Remove button in the action bar.
  4. The selected fields will be highlighted with a red background.
  5. Click Save Changes to permanently delete the selected fields.

Note:
Be careful when deleting default fields (such as Billing Email or Country). Removing essential checkout fields may cause unexpected issues in the checkout process.

Rearranging Fields

You can change the order of fields to control how they appear on the checkout page.

To Rearrange Fields

  1. Navigate to WooCommerce → Checkout Form → Checkout Fields.
  2. Drag and move the field using the handle on the left side of each row.
  3. Position the field in the desired location.
  4. Click Save Changes to apply the new order.


Copy a Field (Duplicate Field)

The Duplicate Field option allows you to quickly create a new field by copying the settings of an existing field. This is useful when you need a similar field with only minor changes.

To Duplicate a Field

  1. Navigate to WooCommerce → Checkout Form → Checkout Fields.
  2. Click the copy icon next to the field you want to duplicate.
  3. A popup window will appear with all properties pre-filled, except for the Field Name.
  4. Enter a unique Field Name for the new field.
  5. Click Save & Close the field to create the duplicated field.

Note:
The Field Name must be unique. If you use an existing field name, the field cannot be saved.

Reset to Default Fields

You can revert your checkout fields to the original WooCommerce defaults using the reset options in the Checkout Fields editor. These options are accessible from the Actions dropdown within any section. To reset a field, you can either reset a specific section individually or reset all sections at once if required.

Available Reset Options

Option Description
Reset This Section Resets only the currently selected section (for example, Billing, Shipping, or Additional Details) to the default WooCommerce fields. All other sections remain unaffected.
Reset All Sections Resets all checkout field sections to the default WooCommerce configuration. All customizations and custom fields across every section will be permanently removed.

How to Reset Sections

  1. Navigate to WooCommerce → Checkout Form → Checkout Fields.
  2. Open the required section in the editor.
  3. Click the Actions dropdown.
  4. Choose either Reset This Section or Reset All Sections.
  5. Click the Apply button.

Warning
Use the reset options carefully based on your requirements. If a required default field (for example, Billing Country) is accidentally deleted from a section, you can use Reset This Section to restore only that specific section to its default WooCommerce fields. If you want to remove all customizations and start fresh, use Reset All Sections to revert all checkout field sections to their default configuration.

Please note that all custom fields and changes made will be permanently removed once a reset is applied. This action cannot be undone.

Import / Export

You can import or export checkout fields and sections to reuse configurations across different stores or environments.

  • Import / Export Fields – Export or import individual checkout fields.
  • Import / Export Sections – Export or import entire checkout sections with all included fields.

Refer to the Import / Export Checkout Fields or Managing Sections (Import / Export sections) documentation for detailed instructions.


Warning: Overriding a Default Field

When you create a new field with the field name of a default field, the existing field gets replaced by the custom field. All properties of the default field will also get replaced with new properties assigned.

Get the plugin

On this page

  • Add New Field
  • Step 1: Open Checkout Fields
  • Step 2: Configure the Field
  • Basic Info
  • Field Type
  • Name
  • Label
  • Description
  • Default Value
  • Placeholder
  • Max. Length
  • Min. Length
  • Validations
  • Required
  • Enabled
  • Order Meta Data
  • User Meta Data
  • Where Custom Fields Appear in My Account
  • Properties Specific to Text and Telephone Fields
  • Input Masking
  • Properties Specific to Select, Multiselect, Radio, and Checkbox Group Fields
  • Properties Specific to Select and Multiselect Fields
  • Properties Specific to Date, Time, Month, Week, and Datetime Local Fields
  • Properties Specific to the jQuery UI Date Picker
  • Properties Specific to the Field Type: Time Picker (jQuery UI)
  • Properties Specific to the Field Type: File Upload
  • Properties Specific to Heading, Label, and Paragraph Fields
  • Display Styles
  • Price Details
  • Display Rules
  • Repeat Rules
  • Edit Field You can modify the properties of any field, including the default WooCommerce checkout fields.
  • Delete Fields
  • Rearranging Fields
  • Copy a Field (Duplicate Field)
  • Reset to Default Fields
  • Available Reset Options
  • How to Reset Sections
  • Import / Export

What's new

  • Added a custom file upload button property for the File upload field type.
  • Alert on selecting display position of sections as before/after terms and conditions.
  • Added Woocommerce 6.8.2 compatibility.

Highlights

  • 24 custom field types with file upload.
  • Create additional sections.
  • Display sections and Fields Conditionally.
  • Display custom fields at 14 different positions.
  • Create confirm field validators.
  • Price fields with a set of price types.
  • Repeat fields and sections based on specific conditions.
  • WPML Compatibility.
  • Import & Export fields and sections.

This article posted in Checkout Field Editor for WooCommerce, Getting Started, Pro Documentation

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

ThemeHigh

We develop innovative WordPress plugins and themes for e-commerce and other WordPress websites.

Resources
  • Documentation
  • Support
  • Blog
  • Bestsellers
  • Affiliates
  • Partners
Policy Information
  • Terms & Conditions
  • Privacy Policy
  • Support Policy
  • Refunds Policy
  • Licenses
Security
Payment Options

© 2026 ThemeHigh. All rights reserved.

Terms and conditions, features, support, pricing, and service options subject to change without notice.