WooCommerce Conditional Checkout Fields & Fees

WooCommerce Conditional Checkout Fields & Fees

The WooCommerce Conditional Checkout Fields & Fees will allow you to easily apply fees to Checkout and to display addtional fields on the Checkout Billing and Shipping forms accoring to logic rules! All done using a nice visual editor!

Note: The plugin, like WordPress, requires a minimum 5.5 PHP version.

(Shop admin account)
user: demo
pass: demo

(customer account)
user: demo2
pass: demo

How it works

The plugin allows the shop admin to create fees and additional checkout billing and shipping fields to which optionally he can bound some conditional rules. According to these conditional rules the plugin will decide if the additional fields have to be showed in Checkout forms and if the fees have to be applied to the Checkout cart.

Each field/fee can have multiple conditional rules related between them with and/or conditions. A conditional rule can consider several product/category/cart/user aspects data like amount spent, height, weight, taxes, user roles…More info at Conditional logic paragraph!

Field types

The plugin will allow the shop admin to create the following field types:
  1. Text
  2. Text area
  3. File
  4. Number
  5. Telephone
  6. Email
  7. Password
  8. Select/Multiselect
  9. Date
  10. Time
  11. Country
  12. State
  13. Heading
For each field you can configure its own options like CSS classes to assign to the input field, placeholder text, show on emails, show on order details page, row size, etc.

Text, Text area, Number, Telephone, Email and Password

Not much to explain… the plugin allows you to easily add the “classic” html type like text, number or Email fields! :)

Sort checkout fields

Using the Sort & Hide menu it is possible to sort all the Checkout fields and temporarly hide the conditional fields

File Upload

Upload any file size on checkout page! Once a file has been selected, the plugin will display a nice visual bar showing the current file upload progress! Once finished the customer will be able to place the order. The file will be lately accessible via the Admin order details page and optionally via Email and the frontend order details page. Optionally it can be deleted by the admin and reuploaded!

Furthermore if the order will be delete, all the associated file will be deleted too! this will avoid unuseful waiste of space!


Would you like to separate fields by using some headings? You can! Use the special Heading field to render headings among fields!

Select/Multiselect fields

The plugin allows to simply create select and multiselect fields. To do that just create a select/multiselect field specifing values and label using the following format:

value1 : value 1
value2 : value 2

In which each line has a value and label separated by the : character.

Note for WPML users: you can use different labels for each language but you must use same values.
For example: ” value_1 : Green” for English and “value_1 : Verde” for Italian.

State & Country fields

The plugin allows you to create Country, State or Country & State fields. The first one will allow the customer to just select a Contry, the second just to select a State of a given country, the last one is a complete Country and State selector that will populate the State selector according the currenct country selected.

Note: For what concerns the State selector, it will be possible to sleect only the states/provinces for the allowed sell countries configured in the WooCommerce -> Settings -> General menu.

Date and Time fields

You can easily date and time fields that will allow your customer to select the desidered values using a nice visual selectors! Furthermore the plugin allows you to restrinct the date and time ranges selecting min and max date/time values that can be absolute date and time or can be relative to “now”!

WPML compability

If WPML is detected, the plugin will automatically show multilanguage input fields for labeles, placehonders, etc. In this way you can enter different texts for each language.

Conditional logic

For each field can be bounded several and/or conditional logic rules that will make the field visible only if satisfied. A condition can be have the following typologies:
  1. Product
  2. Category
  3. Cart
  4. User
  5. Payment method (only available for fees)
Product/Category conditions
Allows you to make the field visible according the followin options:
  1. Cart/Stock quantity
  2. Stock status
  3. Amount spent
  4. Amount spent excluding taxes
  5. Lenght
  6. Height
  7. Width
  8. Weight
  9. Volume
In case of multiple product selections, selected values can be considered for each item or as sum of items values. You can also optionally configure the rule in order to be satisfied if all the selected product are in cart or to apply just only to the product that actually are in cart.
Cart conditions
Allows you to make the field visible according the followin options:
  1. Sub total, Total, Shippings or Discount (with or without taxes applied)
  2. Subtotal, Total, Shipping or Discount taxes
  3. Sum of item quantities, weights or volumes
  4. Number of distinct item on cart
User conditions
Field will be visible if the current user has or hasn’t one of the selected roles

Frontend integration

Additional fields will be seamlessly integrated into the Billing/Shipping form if the conditional rules will be satisfied. Optionally fields will be also displayed into the user oder details page and notification emails.

Backend integration

Additional fields and fees will be seamlessly displayed into the order details page

Custom CSS and JS code

You can easily define “on the fly” custom JavaScript codes for Checkout page using the Custom JS & CSS menu.

Automatic CSS and JS file loading

Want to automatically load your CSS and JS files on Checkout pages? You can! just put them in the following directories (create them if not existing):
  1. wp-content/wcccf_custom_code/js
  2. wp-content/wcccf_custom_code/css
and the plugin will automatically load those files!

WooCommerce Booking – Field per person

The plugin allows also to display one conditional field per each person the user selected for a bookable product. To enable this feature just create a billing or shipping field, then create a conditional logic rule selecting as option Product or Category. Select any bookable product (or a category that has any) and then just enable the Display the field for each person option.

For example, you can create the following fields for a bookable product
  1. First name
  2. Last name
That will be showed on checkout page for each person the user selected.

NOTE: Field per person is unavailable for Country and State fields.

Note on variable products

In case a field has been selecte to be visible for a variable product, if multiple variations have been added to cart, the field will be displayed just one time, not for each variation on cart.

Note on altered checkout forms

If you have altered in any way checkout forms adding/removing/customizing fields using 3rd party plugin, this may interfere with the WCCCF plugin causing it to not properly work.


Type selection – Field configurator page

Condition option selection – Field configurator page

Condition type selection – Field configurator page

Checkout page

Frontend order details page WCCCF

Admin order page
Bookable product – Field per person


= 3.0 - 12.02.18 =
* Date and Time fields can be have a min/max limit relative to "now" 

= 2.9 - 05.02.18 =
* WooCommerce Bookigns: fields are now grouped using a visual border box

= 2.8 - 04.02.18 =
* Fixed an issue with WooCommerce Bookings plugin

= 2.7 - 01.02.18 =
* Added new feature to define custom CSS and JS codes
* Added new feature to automatically load JS and CSS files stored in the "wp-content/wcccf_custom_code/js" and "wp-content/wcccf_custom_code/css" folders

= 2.6 - 10.01.18 =
* Added option to disable fields rearrangement on checkout

= 2.5 - 21.12.17 =
* Is now possible all checkout fields

= 2.4 - 20.12.17 =
* Minor bugfix

= 2.3 - 12.12.17 =
* Minor bugfix

= 2.2 - 11.12.17 =
* Fixed an issue with upload file process

= 2.1 - 29.11.17 =
* Added new File type

= 2.0 - 27.11.17 =
* Added new Heading field

= 1.9 - 26.11.17 =
* Minor bugfix

= 1.8 - 23.11.17 =
* Minor bugfix

= 1.7 - 08.11.17 =
* Is now possible to show fields according to the number of person (Bookable product - WooCommerce Booking)

= 1.6 - 25.10.17 =
* Date field: is now possible to disable specific days of the week

= 1.5 - 25.10.17 =
* Fixed an issue that may prevent the proper detection of variation present on cart

= 1.4 - 11.10.17 =
* Added new feture that allows to create conditional fees

= 1.3 - 28.09.17 =
* Fixed an issue with the "required" option setted for a country field that in some cases may prevent the checkout to be performed

= 1.2 - 27.09.17 =
* Fixed some typos

= 1.1 - 26.09.17 =
* Minor bugfix 

= 1.0 - 20.09.17 =
* First release