WordPress is a great platform for building websites. However, one advantage it has over other platforms is that we can add WooCommerce CHECKOUT PAGE extra custom fields. This means that we can easily add features to our websites that other platforms don’t offer. For example, we can add fields for shipping information, taxes, and more. Once the custom field is added, users can input information such as shipping addresses, contact information, and more. So, how to add a custom field on the WooCommerce checkout page programmatically

Adding a custom field to the WooCommerce checkout page can be done programmatically by adding a code snippet to your theme or plugin. Custom fields are a great way to personalize your checkout page and make it more user-friendly. This allows for quick and easy customization of the checkout process.

How to add a custom field to the WooCommerce checkout page programmatically?

Custom fields are a great way to add extra information to your WooCommerce checkout page programmatically. They allow you to easily add any type of data you need, without having to use the WordPress Custom Fields plugin. This guide will show you how to add a custom field to the WooCommerce checkout page programmatically.
First, we have to know about the Woocommerce Checkout Page.

What is the checkout page?

There are two different methods that will help you add custom fields to your checkout page. They are

  • Custom coding: for people who know how to code or have some coding knowledge and experience.
  • Plugin: It is primarily intended for non-programmers.
Related Post

Integrate Add to Cart Validation in WooCommerce

Here we are talking about coding methods.

There are many types of hooks available on the checkout page, which give you total control and freedom to place the field where you want. Some of them include.

Position on the checkout pageHook name
Before Billing fieldswoocommerce_before_checkout_billing_form
After Shipping fieldswoocommerce_after_checkout_shipping_form
Before Shipping fieldswoocommerce_before_checkout_shipping_form
Before Customer Detailswoocommerce_checkout_before_customer_details
After Customer Detailswoocommerce_checkout_after_customer_details

An array of properties:

type – field type (text, textarea, password, select).

label—label for the input field

placeholder – This is a placeholder for the input.

class – the input class

required – true or false, whether or not the field is required.

clear – true or false, it applies a clear fix to the field/label.

label_class – The label element's class.

options – an array of options (keys => value pairs) for select boxes.

You have to write down all the code in your functions.php file.

Adding a Custom Field:

Let’s add a new field to the checkout Page. follow all the steps.

Step 1: Create a Custom Field

A custom field named "My Field"

When you scroll down your checkout page, you will find this at the bottom of the page.

your checkout page

Step 2: Validation

For the validation custom field when the checkout form is posted. We have to add this validation code:

Step 3: Updating Data

When a customer tries to save data in a customer field, he or she cannot do it. In that case, you have to add this code for updating data.

This way, you can easily add a custom field on the checkout page. Now I am giving you another example of it with code.

Step 1: Create a Custom Field Customer License Number

The field ID is “license_no“.

Step 2: Validate Customer License Number Field

When checkout is processed, you want to make sure that your custom field is not empty. So, we have to choose "required" => true, which means helping the field will have a required mark beside its label. Also, you can generate an error message if your custom field is empty.

Step 3: Save & Show Customer License Number Field Data

After validation is passed, WooCommerce processes this order. But we cannot get new field value data and it gets lost as there is no function that can store this data in sql. We need to save and also display this field value. Also, we need to save it on inside orders and order emails.

Show Customer License Number Field Data


In conclusion, by following the steps in this article, you can add a custom field to the WooCommerce checkout page programmatically. This can be a great way to collect extra information from your customers or to ask them to agree to your terms and conditions before completing their purchase. This can be helpful for collecting additional information from your customers, such as their phone numbers or email address.

Share This Article