checkout-custom-fields

WooCommerce Checkout Custom Fields

Add custom fields to your WooCommerce checkout page

Description

When enabled, WooCommerce Checkout Custom Fields module lets you add custom fields to WooCommerce checkout page. This neat feature allows you to add more fields to your checkout page. Choose which section to add the custom field to (Billing / Shipping / Order notes / Account), and choose which type of information field you want to add – add a text field, text area, number, a date/time picker, a checkbox, select, radio, or a password, and give it a label or some text explaining what you want your customers to do.

Email Options

This section allows you to set if you want custom fields to be displayed in emails. Also here you can define how fields should be outputted.

WooCommerce Checkout Custom Fields - Admin Settings - Email Options

Add All Fields to Admin Emails
Enable this if you want all fields to be added to all emails to administrators.
Default: yes
Add All Fields to Customers Emails
Enable this if you want all fields to be added to all emails to customers.
Default: yes
Emails Fields Template: Before the fields
This option sets what should be outputted before the custom fields. For example try: <table>.
Default: None
Emails Fields Template: Each field
This option sets how each field should be outputted. Replaced values: %label%, %value%. For example try: <tr><th>%label%</th><td>%value%</td></tr>
Default: <p><strong>%label%:</strong> %value%</p>
Emails Fields Template: After the fields
This option sets what should be outputted after the custom fields. For example try: </table>.
Default: None

Order Received Options

WooCommerce Checkout Custom Fields - Admin Settings - Order Received Options

Add All Fields to "Order Received" (i.e. "Thank You") and "View Order" Pages
Default: yes
"Order Received" Fields Template: Before the fields
Default: None
"Order Received" Fields Template: Each field
Replaced values: %label%, %value%.
Default: <p><strong>%label%:</strong> %value%</p>
"Order Received" Fields Template: After the fields
Default: None

Custom Fields Number Option

Custom Fields Number
Sets the number of custom fields you want to add. Click "Save changes" after you change this number – new settings fields will appear.
Default: 1

Field’s Options

WooCommerce Checkout Custom Fields - Admin Settings - Field General Options

Enable/Disable
Enables the custom field.
Default: no
Type
Possible values: Text; Textarea; Number; Checkbox; Datepicker; Weekpicker; Timepicker; Select; Radio; Password; Country; State; Email; Phone.
Default: Text

WooCommerce Checkout Custom Fields

Required
Sets if the field is required to fill on checkout on not.
Default: no
Label
Sets label for the field.
Default: None
Placeholder
Sets placeholder for the field.
Default: None
Priority (i.e. Order)
Here you can set the field’s position inside the section. Lower number will move the field higher in the section.
Default: None
Section
Possible values: Billing; Shipping; Order Notes; Account.
Default: Billing
Class
HTML class. Possible values: Wide; First; Last.
Default: Wide
Clear
CSS clear option.
Default: yes
Customer Meta Fields
Check this if you want the field to be added to the customer meta fields.
Default: yes

Select and Radio Field Type Options

This subsection allows you to set options for select and radio type fields.

WooCommerce Checkout Custom Fields - Admin Settings - Select and Radio Field Type Options

Select/Radio: Options
Set options for the field here. One option per line.
Default: None
Select: Use select2 Library
Enable this if you want to use select2 library instead of standard HTML select input field.
Default: no
select2: min input length
select2: Number of characters necessary to start a search. Ignored if set to zero.
Default: 0
select2: max input length
select2: Maximum number of characters that can be entered for an input. Ignored if set to zero.
Default: 0

Checkbox Field Type Options

This subsection allows you to set options for checkbox type fields.

WooCommerce Checkout Custom Fields - Admin Settings - Checkbox Field Type Options

Checkbox: Value for ON
Default: Yes
Checkbox: Value for OFF
Default: No
Checkbox: Default Value
Possible values: Not Checked; Checked.
Default: Not Checked

Datepicker, Weekpicker and Timepicker Field Type Options

This subsection allows you to set options for datepicker, weekpicker and timepicker type fields.

WooCommerce Checkout Custom Fields - Admin Settings - Datepicker Weekpicker Timepicker Options

Datepicker/Weekpicker: Date Format
Leave blank to use your current WordPress format. Visit documentation on date and time formatting for valid date formats.
Default: None
Datepicker/Weekpicker: Min Date
Min date in days.
Default: -365
Datepicker/Weekpicker: Max Date
Max date in days.
Default: 365
Datepicker/Weekpicker: Add Year Selector
Default: no
Datepicker/Weekpicker: Year Selector: Year Range
The range of years displayed in the year drop-down.
Default: c-10:c+10
Datepicker/Weekpicker: First Week Day
Possible values: Sunday; Monday; Tuesday; Wednesday; Thursday; Friday; Saturday.
Default: Sunday
Timepicker: Time Format
Visit timepicker options page for valid time formats.
Default: hh:mm p
Timepicker: Interval
Interval in minutes.
Default: 15

Field Visibility Options

This subsection allows you to show or hide custom checkout field, depending on what’s in cart.

WooCommerce Checkout Custom Fields - Admin Settings - Field Visibility Options

Exclude Categories
Hide this field if there is a product of selected category in cart.
Default: None
Include Categories
Show this field only if there is a product of selected category in cart.
Default: None
Exclude Products
Hide this field if there is a selected product in cart.
Default: None
Include Products
Show this field only if there is a selected product in cart.
Default: None
Min Cart Amount
Show this field only if cart total is at least this amount. Set zero to disable.
Default: 0
Max Cart Amount
Show this field only if cart total is not more than this amount. Set zero to disable.
Default: 0

Tips & Tricks

To add custom fields to Booster’s PDF invoices, you should use [wcj_order_checkout_field] shortcode, e.g.:

[wcj_order_checkout_field field_id="billing_wcj_checkout_field_1"]
You can use use Custom CSS Options (accessible through WooCommerce > Settings > Booster > EMAILS & MISC. > General). For example, to change default view of custom checkout radio buttons:

WooCommerce Checkout Custom Fields - Radio button
Custom CSS code for radio buttons restyling:

label.radio { display: inline !important; padding-left: 5px; }
label.radio:after { content: '\A'; white-space: pre; }
Accessible through:
  • WooCommerce > Settings > Booster > Cart & Checkout > Checkout Custom Fields
Tested on WooCommerce 3.4.4 and WordPress 4.9.8
Plugin can be downloaded here. If there are any locked fields in the module, you will need to get Booster Plus to unlock them.

Leave a Reply

Comments

62 Comments

  1. James July 8, 2015 at 7:00 pm #

    I would love to know what the “categories” field does? I cant find any documentation on this.

    Thanks in advance
    James

    Reply to thread

    • Valentin Solovjov September 16, 2015 at 7:35 pm #

      Dear James,

      you can show/enable Checkout Custom Fields only for specified product categories.

      BR,
      Val

  2. Amy October 12, 2015 at 6:45 pm #

    I sent an email to Support, but thought I would ask here too.

    Is there a way to get the data generated by the Additional Fields passed to the generated emails as something other than a solid block of text with no field separators? We have 8 fields and we would (ideally) like a paragraph break after each field so that we could cut and paste this information into a spreadsheet.

    Reply to thread

    • Valentin Solovjov October 13, 2015 at 7:35 am #

      Hi Amy,

      We already fixing that, let you know, when it be solved.

      BR,
      Val

  3. brian valente October 20, 2015 at 11:30 pm #

    is it possible to set the default for a custom field so that a custom checkbox shows up as checked by default?

    Reply to thread

  4. Terrance November 25, 2015 at 10:07 pm #

    Is it possible to capture the information from these custom fields for the invoices/packing slips?
    I’m trying to provide the ability for a user to add the shipping recipient’s phone number.

    Reply to thread

  5. Mike January 1, 2016 at 3:38 pm #

    Is there a way to hide the information that is entered on custom fields from the customers view in their account/order history?

    Reply to thread

  6. James January 1, 2016 at 6:58 pm #

    Hi, Is there a way of using a shorcode for invoice templates with this and how would you determine which custom field it was?

    Reply to thread

  7. Valentin Solovjov January 11, 2016 at 8:01 pm #

    Question:

    Where can I find out what the custom field name is? And then some samples on how to use them in side a custom email/template – (lost here, no coding expertise).

    Answer:

    Its a little bit tricky at start. Here what you need to do :

    1) you need to go to the checkout page for example with google chrome browser and press right mouse click on the custom checkout field you need, and click inspect element

    image here: http://snag.gy/KrO7x.jpg

    2) then you need to find field ID ant the right

    http://snag.gy/IbVzp.jpg

    in my example its : billing_wcj_checkout_field_1

    and the shortcode you need to use is here : [wcj_order_meta before="TAX ID: " before="field_8" meta_key="_billing_wcj_checkout_field_1"]

    note that you can user additional option as before or after, also meta_key used with _ in front.

    Best regards,
    Valentin Solovjov
    Algoritmika Ltd.
    BoostWoo.com

    Reply to thread

    • James January 12, 2016 at 6:15 pm #

      Brillaint and thanks. It works! I had to remove “field8” essentially and leave the inverted commas blank in between but it was pretty simple.

  8. Peter Pitchford January 12, 2016 at 7:42 am #

    How do I access the data collected by the custom fields? I don’t see it anywhere in the admin order page.

    Reply to thread

    • Valentin Solovjov January 12, 2016 at 3:11 pm #

      Hi Peter,

      I just tested. I able to collect info.

      1) Checkout page: http://snag.gy/4fWjo.jpg
      2) Thank you page: http://snag.gy/dTFCB.jpg
      3) Back end order details : http://snag.gy/i6UFF.jpg
      4) Custom Checkout field settings: http://snag.gy/B6RPd.jpg

    • Peter Pitchford January 12, 2016 at 3:43 pm #

      Thanks for testing, but custom fields are not showing up for me. They show up in the reciept and the pdf invoice, but not in the order page.

    • Ulrich January 14, 2016 at 1:59 pm #

      Hi Valentin,

      same situation here. I can’t find the custom created fields in the backend order details.
      snag.gy is down so i can’t see the screenshots.
      Hope you can help

      Best regards

    • Ulrich January 14, 2016 at 2:43 pm #

      @Peter,

      when i changed the field ‘section’ from ‘Order Notes’ to ‘Billing’ i could find the posted data in order page. Perhaps this is a solution for you, too.

  9. gamal March 29, 2016 at 5:52 am #

    Hi.. how can i show the field to order details or thank you page instead the checkout page. thanks…

    Reply to thread

    • Valentin Solovjov March 29, 2016 at 8:42 pm #

      Hi,

      sorry I didn`t get what you would like to do. Could you please reply with details? You would like to have a custom field on thank you page? What do you call “order details” ?

      BR,
      Val

  10. Brenda April 21, 2016 at 3:53 am #

    Hi, I am working with your Booster Plus plugin and I really want to be able to change the header “Billing Info” at the top of the Checkout page to “Registration Info”. Can you help me do that? I am not a big coder, so I hope it is easy πŸ˜‰

    Many many many thanks in advance, Brenda

    Reply to thread

    • Booster Support Team April 26, 2016 at 12:10 pm #

      Hi Brenda,

      “Billing Details” text is a part of checkout template. Unfortunately there are no hooks to change it, so the best way to do it would be to edit the template itself. The file you need is “\wp-content\plugins\woocommerce\templates\checkout\form-billing.php”. The best way would be to copy it to your child theme folder, so you won’t lose changes after the updates. You can read more about editing WooCommerce templates here – https://docs.woothemes.com/document/template-structure/.

      There is another (but not recommended) method for changing that text. by using gettext filter (https://codex.wordpress.org/Plugin_API/Filter_Reference/gettext). The filter is intended to use for translations, but it will work for just changing the text. Add to your child theme’s functions.php file:

      Hope I made it a little more clear. Please let me know if you still will have troubles changing that text. I could log on to your server and make the neccessary changes.

      Best regards,
      Tom

      Booster Support Team
  11. Kittiwat June 2, 2016 at 4:01 pm #

    Radio button
    and select didn’t work

    Reply to thread

    • Booster Support Team June 2, 2016 at 9:10 pm #

      Hi,

      I’ve just retested on our server, and unfortunately couldn’t reproduce the issue – both Select and Radio types for custom checkout fields seem to work fine for us. Could you please give more details on the issue? Are fields not displayed at all, or with some errors? And if possible please create/share an admin account to your server so I could login and check what’s going on. My email is tom@booster.io. If sharing an account is not an option – please let me know and I will try to solve this remotely.

      Best regards,
      Tom

      Booster Support Team
  12. Felix August 23, 2016 at 3:55 pm #

    Hi there,

    I activated the radio buttons but they just showed up without the text. Does anyone know how to solve this problem?

    Looking forward to hear from you!

    Reply to thread

    • Felix August 23, 2016 at 3:57 pm #

      I’m using bridge theme btw.

  13. Dragos August 23, 2016 at 7:42 pm #

    I am having issues with displaying and charging shipping for my products since installing this plugin. The only module I have enabled is Prices and Currencies By country with 3 price zones: Canada, USA, and Europe. There are also 3 shipping zones setup, for the same areas. Canadian and Europe shipping rates and displayed and charged properly, however the USA is not.

    USA shipping zone via WooCommerce Shipping module at 4.00 flat rate. However at checkout the only information displayed for customers is “Flat Rate” with no value, and the customer is charged nothing. If I disable the plugin the information is displayed properly.

    I need your help please with solving this issue.

    Reply to thread

  14. Alain Aubry October 9, 2016 at 8:39 pm #

    Hi

    I am trying to add a Checkout Custom Field, the customer DoB.
    There is a field called ‘section’ that lists ‘Billing’, ‘Shipping’, ‘Order Notes’ and ‘Account’.
    I tried them all, the new filed goes to the section specified, except for ‘Account’, when I select this one I don’t see the new field anywhere.
    ‘Account’ is my preferred option.

    Thanks

    Reply to thread

    • Johannesannes July 14, 2018 at 1:57 pm #

      Any reply on this?

    • RokasJ July 14, 2018 at 6:50 pm #

      Hi Johannesannes,

      “Account” option custom fields appear in the admin account edit page. From your wordpress dashboard go to Users > All Users > [user name] > Edit. You should find the field there.

      Best regards,
      Rokas – Support Team

  15. Kat November 4, 2016 at 3:11 pm #

    I’d like to be able to include all of my custom fields in the order export data. Is this possible? I don’t see it as an option anywhere. If it’s not currently possible, is this a feature you can add in the future?

    Thanks!

    Reply to thread

  16. Joomla Candy December 2, 2016 at 4:35 pm #

    Hi,
    Thanks for a great funktion. But I miss the possibility to add an error message for the required option. Desperately need that.

    Reply to thread

  17. Ulli December 8, 2016 at 7:13 am #

    This feature seems to have stopped working with WooCommerce 2.6.9. No matter how I configure the feature, my text is not showing any more πŸ™

    Reply to thread

    • Ulli December 8, 2016 at 7:16 am #

      Damn… I’m on the wrong page here. The problem exists with the “Checkout Custom Info” feature…

    • Booster Support Team December 8, 2016 at 7:58 am #

      Hi,

      It’s probably because of new WordPress v4.7. Issue already fixed in development version. You can download the development version here – http://booster.io/dev/. You will need to uninstall the old version first (don’t worry your saved settings won’t disappear). Please let me know if the issue is fixed or if you have any questions.

      We are going to upload stable release to wordpress.org this weekend.

      Best regards,
      Tom

      Booster Support Team
    • Ulli December 9, 2016 at 7:19 am #

      Thanks Tom! It’s not thaaat important, so I’ll gladly wait until you release it officially! Thanks for the quick feedback and fix! I’ll let you know if it works!

    • Ulli December 10, 2016 at 8:56 am #

      Hey Tom! I had to disable and reenable the feature for the info to show up again but not it works! Thanks so much and have a great weekend!

  18. AMC December 14, 2016 at 5:50 pm #

    Hi,

    I am french and i have a question on the “custom field”

    When i add a custum field and t is positioned on the left column of my command and I want to know how to put it by default on the right column below the last initial fields of woocommerce (information)

    If you have a answer i’ll be happy to know.
    (PS : excuse for my english)
    Thanks
    Richard

    Reply to thread

  19. Matteo January 25, 2017 at 2:52 pm #

    Hi,
    with this plugin(also pro) is it possible to add a custom field that is required only when a customer select a particular nation?For example in Italy the fiscal code is required but not in other countries..

    Reply to thread

  20. Geoffrey January 26, 2017 at 9:00 pm #

    Hello, is there a chance to add also a custom script (Javascript) as a custom checkout field? We have a simple form, script, that lets customers choose where they want to pick up their order (physical place). And I want it to be a part of the checkout form.
    Thank you in advance for any tips! πŸ™‚

    Reply to thread

  21. Antonio Venneri April 6, 2017 at 3:12 pm #

    I am using this feature in my woocommerce site.
    I would like to edit this value from admin.
    I noticed that the mata_key is underscored, so is not possible:
    a. Add this custom field in Manual Order
    2. Edit this custom field from order detail

    Reply to thread

  22. Elita April 17, 2017 at 1:44 pm #

    Hiya! I would like to be able to hide a custom field based on whether customer is already logged in as returning customers don’t need to indicate how they found me with each order. Not sure what code to use or where to put it (newbie coder here).

    Reply to thread

  23. loic April 24, 2017 at 8:51 am #

    Hello
    Would it be possible to add a feature to enable multiple choices field in the checkout page?
    Best regards

    Reply to thread

  24. Joe May 9, 2017 at 8:53 am #

    Hi.

    I’d like to use the date and time picker for delivery purposes. How could I sort the orders in the admin panel by the date and then by time column collected by the custom field value?

    Thanks in advance!

    Joe

    Reply to thread

  25. Foots June 20, 2017 at 10:53 am #

    Hi,

    I’ve added 3 tick boxes to my checkout page and set them as ‘Required’.

    If the boxes are not ticked, the order still goes through, is there a way to show an error message, same as the terms and conditions tickbox?

    Many thanks.

    Reply to thread

  26. Jeff July 10, 2017 at 9:56 pm #

    I just purchased booster plus and ran into something I need some help on. I’m looking to find a way to limit the days and times of deliveries in my woocommerce store. For example, I do not want Sunday to be a delivery date and likewise, our deliveries only occur from 9:00am to 5:00pm. Any suggestions if this is possible?

    Second question – I would like to program a small modal message on a radio button choice on my checkout form so that I can display a small message if the user chooses Yes or No. Any idea how I can accomplish that as well?

    Thanks

    Reply to thread

  27. Johannes November 2, 2017 at 2:26 pm #

    Hi, is it possible to prepopulate a custom checkout field from a custom user meta field?

    Reply to thread

    • Booster Support Team November 2, 2017 at 9:19 pm #

      Hi Johannes,

      Not sure I understood you correctly, but after your customer fills the custom checkout field once, it is then refilled with that value each time customer visits the checkout page.

      If you mean you want to fill it with some value from some other user meta field, when customer visits the checkout for the first time – unfortunately that is not possible at the moment, but I will try to add it in next update.

      Best regards,
      Tom

      Booster Support Team
    • Johannes November 3, 2017 at 9:17 am #

      “f you mean you want to fill it with some value from some other user meta field, when customer visits the checkout for the first time”

      YES, that is what I want, and fine if it could be set to editable only by admin. When do you think this vill be ready?

      regards
      Johannes

  28. kf November 22, 2017 at 3:43 pm #

    Sorry if I’m missing something, but how do you add multiple custom fields or is that only available for Pro?

    Reply to thread

    • kf November 24, 2017 at 6:46 pm #

      Sorry looks like the answer is pretty obvious. Change the field number with Pro version πŸ˜‰

  29. Elad December 20, 2017 at 12:00 pm #

    Hi,

    I am using the Booster Pro and I can’t seem to find my thank-you page!

    I wanted to tell Woocommerce to reinstall it like described in the steps below, but I don’t have this option:

    Go to the “System Status” tab on Woocommerce
    Click on the “Tools” tab at the top of the page
    On that page, the sixth option down is called “Install pages”.
    Clicking that will “install all the missing WooCommerce pages. Pages already defined and set up will not be replaced.

    Is this option moved somewhere to inside the Booster?

    Tx,

    Reply to thread

    • Booster Support Team December 20, 2017 at 8:55 pm #

      Hi,

      No, this option is not modified by Booster in any way. I’ve just checked “WooCommerce > Status > Tools” on my server, and here it’s called “Create default WooCommerce pages” (with “Create pages” button), and it’s 8th tool from the top (4th from the bottom). Which WooCommerce version do you have installed? Also if you wish you can create/share a WP admin account to your server, so I could login and check what’s going on (my private email is tom@booster.io).

      Hope that helps.

      Best regards,
      Tom

      Booster Support Team
    • Elad December 20, 2017 at 9:08 pm #

      Hi Tom,
      Thank you for the reply. Yes it is there, thank you.

      Didn’t think of looking in status.

      Hope I get you while still online, If I could clear another doubt with you:

      By default the e-mail address on the check-out page is way down, is there any way I can move it up to be right after the Customer name?

    • Booster Support Team December 20, 2017 at 9:25 pm #

      Yes, why did they put “Tools” in “Status” was always a mystery to me also πŸ™‚

      Regarding moving the e-mail address field – if you mean the default WooCommerce e-mail field, you need to enable Booster’s “Checkout Core Fields” module (in “WooCommerce > Settings > Booster > Cart & Checkout > Checkout Core Fields”), then locate “Billing Email” options section there and set “priority (i.e. order)” option to 20 (so it will go right after “Last name” field). You may also want to change billing email “class” option to “Full Row” there.

      Again hope that helps. Please let me know if you have any more questions or need any help.

      P.S. If you like Booster, please leave us a rating.

      Best regards,
      Tom

      Booster Support Team
    • Elad December 20, 2017 at 10:49 pm #

      Tom TX!

      Great support ! Will rate you for sure!

      However, something strange…the module for this won’t enable…I change the priority of the billing e-mail and saving and it doesn’t stay enabled.

      Any idea?

      Tx,

    • Booster Support Team December 21, 2017 at 12:08 am #

      Thanks.

      Hmm.. That’s strange.. You mean the main “Enable Module” checkbox for “Checkout Core Fields” module doesn’t stay enabled? If that’s correct – unfortunately I can’t solve this unless I login to your server, as it seems to be working fine on my test server..

      Best regards,
      Tom

      Booster Support Team
  30. jwebadgility January 11, 2018 at 4:55 am #

    Is there a way to have the custom field NOT prepopulate based on the last order from a customer? Particularly we have a “Gift Message” field which shouldn’t prepopulate for each order.

    Can you describe the use of “Clear” and “Customer Meta Fields” checkboxes for each custom field? Is there a place to read about these? I haven’t been able to find documentation.

    Thanks for your help,
    J

    Reply to thread

    • Guillaume April 28, 2018 at 6:08 pm #

      Hello, am also trying to achieve this. We have a PO number custom field and obviously it should repopulate at each order…
      PLEASE REPLY!! πŸ™‚

  31. Mike Peace February 5, 2018 at 4:36 am #

    How can I default the value when using a select-box ?

    Reply to thread

    • Rory Restani April 13, 2018 at 6:01 am #

      I would also like to know how to set default value in a select-box. Booster Support Team please help.

    • danielc April 15, 2018 at 9:48 pm #

      Hello Rory,

      please contact us on support@booster.io for further support as we need more details to help you.

      Best regards,
      Support Team

    • Rory Restani April 16, 2018 at 3:42 am #

      I have tried in the past to use support but I never get a response. I’m really surprised you replied this time. I will use support do you have an idea of turn around time?

  32. Elia June 22, 2018 at 11:58 am #

    Hi guys,
    it seems to me that the [wcj_wpml] shortcode do not work properly on the “Custom Filed -> Label”.

    I’ve used the same text that works awesomely on “Cart Custom Info -> Content”.

    Any idea on that?
    I keep smashing my head on trials but got only errors xD

    Thanks for the Support,
    have a great day!
    Elia

    Reply to thread

  33. Remy.Booster007 July 8, 2018 at 5:24 am #

    Hello,
    I’ve added a date field but the mindate is not working…

    Reply to thread