Installation
Manage Checkout Fields
Drag&drop to reorder fields. Click a field to expand it.

Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - set your own field's name (optional). Meta name is the label's name in the database for developers' purposes.
Validation - select one of WooCommerce's validations if you need it for the field.
Default value PRO - the fields can be preselected or already filled with the custom value by default.
For Checkbox enter Yes if it should be checked by default. For Radio button and Select, enter Value from format Value : Name.
Field Type - you can't change it, you can select the type of the field while you add a new field.

Placeholder - enter or edit a placeholder for the field (not available for all fields).
CSS Class - enter or edit CSS class for the field.
In WooCommerce there are three CSS classes responsible for fields width and position. CSS class form-row-first positions the field in the first column, form-row-last in the second column, and form-row-wide sets field's width for both columns.

Adding Custom Fields
You can add multiple fields to sections of WooCommerce checkout.

Adding New Custom Field
- Go to Add New Field box.
- Select field type.
- Enter field's label.
- Change field's name (optional for developers)
- Click Add Field button.
- Click Save changes button.
Field will be add to Edit Section. Now you can edit field. Remember to save changes.
Editing additional fields in the order
Under the order, you can edit the added fields. Changing the settings and saving the order will change the details of the order.
Add this code to the functions.php file if the address fields are not aligned.
add_action( 'admin_head', function() {
?>
<style>
#order_data .order_data_column div.address[style*="display: none"] + div.edit_address {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
</style>
<?php
} );
Field Types
- Single Line Text
- Paragraph Text
- PRO Checkbox
- PRO Radio button
- PRO Select (Drop Down)
- PRO Multi-select
- PRO Date
- PRO Time
- PRO Color Picker
- PRO Headline
- PRO HTML or plain text
- PRO File Upload
Some of the fields have more options:
Value - for checkboxes. Value displayed in the order details if user checks the checkbox.
Options - for radio buttons and selects. Options which user sees during checkout.
Allowed file types - for upload file. It is required to add allowed file types because of the security reasons. Add file types after comma.
Maximum file size [MB] - for upload file. It is required to add max file size.
Date format - for field type Date you can set custom date format.
Day before / Day after - for field type Date. Set range for date from calendar or leave blank if you won't limit range. To block range for day before or after just set "0".
img, a, strong, em, br
.Display On
You can select where the field should be displayed in the 'Display On' tab:

Pages/emails - select where the field should be displayed.
Formatting on pages/emails:
Display field in a new line - it will display field in a new line, changing the default WooCommerce settings.
Show field label - it will display the field label before field content. This option is available only for custom fields.
State / County formatting:
Display state code - for State / County field. It will display a State code instead of the full name.
Display a comma before when the field is not in a new line - for State / County field. It will display a comma before State field.
The checkboxes are marked by default. You can uncheck them if you want to. Below, you can see in-action examples of displaying fields:

Conditional Logic
For any field it is possible to set rules when to show or hide the field.
There are three types of this logic:
- Conditional Logic for Fields,
- Conditional Logic for Products and Categories,
- NEWConditional Logic for Shipping Methods

Conditional logic for fields
The conditional logic for fields allows showing fields based on values from other fields, created in the plugin, such as: checkbox, radio and select.
Select action for a field when rules match:
- Show this field if
- Hide this field if
and the required condition:
- All rules match (and)
- One or more rules match (or)

You can add any number of rules. Rules matching is based on a field type (checkbox, radio and select) and field option.
Checkbox will have two options: checked and unchecked.
For radio and select options will be configured manually.

Conditional logic for products and categories
The conditional logic for products and categories allows showing field by selected products or categories.
Select action for the field when rules match:
- Show this field if
- Hide this field if
and the required condition:
- All rules match (and)
- One or more rules match (or)

You can add any number of rules. Rules matching is based on a product or a product category in the cart.

Conditional logic for shipping methods
The conditional logic for fields allows showing fields based on selected shipping method.
Select action for a field when rules match:
- Show this field if
- Hide this field if

You can add any number of rules. Rules matching is based on selected shipping method. To select shipping method, choose the shipping zone first (you'll see only shipping methods in this shipping zone).

Assigning a price to the custom fields
Fields added using FCF have an additional tab "Pricing" with available options for assigning a price.
The impact on the final purchase amount depends on the selected price type and its value.
- Fixed - net price set in currency units and independent of the cart.
- Percentage of Subtotal (ex. VAT) - percentage amount related to the net subtotal (cart value).
- Percentage of Subtotal (incl. VAT) - percentage amount related to the gross subtotal (cart value).
- Percentage of Total - percentage amount related to the Total (cart value + coupons + shipping).

The option to add a price is available for:
- Single Line Text
- Paragraph Text
- Checkbox
- Radio button
- Select (Drop Down)
- Multi-select
- Date
- Time
- Color Picker
- File Upload
Instructions for adding a price to the field
- Add a new field.
- Add options and other settings - if required by the selected field type (e.g. "Radio" field).
- Save the changes.
- Select the "Pricing" tab and check the "Enable Pricing" checkbox.
- One line of settings will appear if the selected field has no option (e.g. "Single Line Text").
- There will be separate lines with settings next to each option if the selected field has options (e.g. "Select").

- Assign a price by selecting its type from the "Price Type" list:
- Fixed - enter the net price
- Percentage of Subtotal (ex. VAT) - enter a percentage
- Percentage of Subtotal (incl. VAT) - enter a percentage
- Percentage of Total - enter a percentage

- Indicate the tax class by selecting the class from the "Tax Class" list. Save the changes.
This option will appear when the assigned price is greater than "0" and if the "Enable tax rates and calculations" option is enabled in the WooCommerce > Settings > General tab.

Displaying prices in the store
The price assigned to the field will be shown in the store either as a gross total price or as a percentage.
- Checkout - the price will be shown in brackets next to the field label (or next to an option) and will also appear in the "Order" section.
- Order Summary - the price will be shown as the amount included in the purchase.
- WooCommerce > Orders tab - the fields visible there are editable so it is possible to change the label and price or to add tax.
Important information
- Enable the "Rounding" option in the WooCommerce > Settings > Tax tab. This setting is required when more than one price field is added.
- Do not use the same labels.
- The fields added in the "Billing" and "Shipping" sections are cached. These fields are saved and autocompleted during next purchases. The other sections are not cached.
Field types
Single Line Text
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Paragraph Text
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Checkbox
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Options
Provide options line by line:
Value : Name
Value
The entered value is only visible for store admin and displays i.e. in the order edit page if the customer selects that option.
Name
Option label that will be displayed on the product page.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Select (Drop Down)
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Options
Provide options line by line:
Value : Name
Value
The entered value is only visible for store admin and displays i.e. in the order edit page if the customer selects that option.
Name
Option label that will be displayed on the product page.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Multi-select
Field on the checkout page:
Works in the same way as Select (Drop Down)
Date
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Date settings
- Date format – default date format dd.mm.yy eg. 14.04.2014,
- Days before – a range of days available in the calendar before the current date,
- Days after – a range of days available in the calendar after the current date.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Time
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Color Picker
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Field Type - you can't change it, you can select the type of the field while you add a new field.
Headline
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Field Type - you can't change it, you can select the type of the field while you add a new field.
HTML or plain text
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Field Type - you can't change it, you can select the type of the field while you add a new field.
<p></p>
tags with their content being moved to the top of the checkout form or similar issues with their proper displaying, please use the <xxx></xxx>
tags instead.File Upload
Field on the checkout page:
Configuration:
Enable Field - check to show a field or uncheck to hide a field.
Required Field - check to make a field required, uncheck to make a field optional.
Label - enter field's label. You can use HTML here.
Name - you can't change it, you can set the name of the field while you add a new field.
Validation - select one of WooCommerce's validations if you need it for the field.
Allowed file types - provide file types that will be available to upload
Maximum file size - provide the maximum file size that your customer can upload
Field Type - you can't change it, you can select the type of the field while you add a new field.
Settings
Go to menu WooCommerce → Checkout Fields → Settings.

CSS jQuery UI - in the plugin's settings, you can disable loading of the CSS jQuery UI file. The CSS file is used to style some additional fields in the order (i.e. Date field), but it may cause conflicts with other plugins that also make use of jQuery UI (i.e. to create tabs). If you notice any problems when displaying your shop, try to disable this CSS file.
Custom Sections - you can add custom sections to checkout. Check custom sections and click Save changes. New sections will show up in tabs in the plugin menu.

Below you can see all custom sections on Storefront 2.1.1 example. For better presentation, the theme was modified to one column view in checkout by Storefront Checkout Customiser.

Custom Sections
After adding custom section go to it's tab, add new fields and edit sections. You can set Section Title, Section Titile Tag and CSS Class.

All fields in the "Biling" and "Shipping" sections are cached, which means that when placing the next order, they will be completed or marked in accordance with the previous order.
Cached sections:
- Billing
- Shipping
Non-cached sections:
- Order
- Before Customer Details
- After Customer Details
- Before Billing Form
- After Billing Form
- Before Shipping Form
- After Shipping Form
- Before Registration Form
- After Registration Form
- Before Order Notes
- After Order Notes
- Before Submit
- After Submit
Usage Examples
Additional Agreements at the Checkout
You can add additional checkboxes that will appear directly over the button used to placing an order. Here you can also add options, such as: consent to send a newsletter or other sign ups to which the user should agree. Every added checkbox can be made obligatory or optional.

In plugin settings add custom sections Before Submit. Next:
- Add field type Checkbox, Save changes and expand field to editing.
- Check Required Field if you wont to required this option.
- Enter the content of the checkbox.
- Enter the value of the checkbox (e.g. Yes, Selected, etc.). The value will be displayed only in the order preview if the checkbox was selected by the user. It's meant for the administrator only.
- Optionally, enter the CSS class.
- Click Save changes.

Information on selecting the checkbox in the order
If the checkbox has been selected by the user, the information appears in the details of the order:

Displaying values of fields using custom PHP code. For advanced users
If you would like to display a value of specific field entered by your customer in the checkout, use below PHP code:
echo $order->get_meta( 'meta_name');
To learn a meta name (the name that the field is written under in the database), check the field's configuration:

So, in this example: to display VAT Number field value with meta name _billing_vat_number
, use below PHP code:
echo $order->get_meta( '_billing_vat_number');
Deleting the changes
To reset sections settings click "Reset Section Settings" button. For standard sections (Billing, Shipping, Order) custom fields will be deleted and standard fields will be reset to their default state, and for additional sections, all fields will be deleted.
