- Home
- Blog
- Contact
Clients are often looking to customise the checkout field on their WooCommerce shop. This can be done using the “woocommerce_checkout_fields” filter.
The following example shows you how to rename field attributes such as the label, the placeholder, the priority or how to add a custom class of your WooCommerce checkout fields:
function wpharvest_override_checkout_fields( $fields ) {
$fields['billing']['billing_company'] = array(
'label' => __('Institute Name', 'woocommerce'), // Rename label
'placeholder' => _x('', 'placeholder', 'woocommerce'), // Rename placeholder
'required' => true, // Set as required
);
$fields['billing']['job_title'] = array(
'label' => __('Job Title', 'woocommerce'),
'placeholder' => _x('', 'placeholder', 'woocommerce'),
'required' => true,
'priority' => 31,
'class' => array('form-row-wide'),
'clear' => true
);
$fields['billing']['billing_phone']['required'] = true;
$fields['billing']['billing_phone']['maxlength'] = 15;
$fields['billing']['billing_phone']['custom_attributes'] = array( "min-length" => "9" );
return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'wpharvest_override_checkout_fields' );
Code language: PHP (php)
function wpharvest_override_checkout_fields( $fields ) {
$fields['billing']['billing_phone']['required'] = true;
$fields['billing']['billing_state']['required'] = false;
$fields['shipping']['shipping_state']['required'] = false;
return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'wpharvest_override_checkout_fields' );
Code language: PHP (php)
United States and United Kingdom being some of the most popular countries, you might want to set those as first in your WooCommerce checkout countries dropdown. You can change the countries order by unsetting the specific countries first, creating a new array with just them, and then appending the rest of the countries.
function wpharvest_change_country_order_in_checkout_form($countries)
{
$usa = $countries['US']; // Store the data for "US" key
unset($countries["US"]); // Remove "US" entry from the array
$gb = $countries['GB']; // Store the data for "GB" key
unset($countries["GB"]); // Remove "GB" entry from the array
// Return "US" first in the countries array
return array('US' => $usa, 'GB' => $gb ) + $countries;
}
add_filter( 'woocommerce_countries', 'wpharvest_change_country_order_in_checkout_form' );
Code language: PHP (php)
Did you find this tutorial useful, or are you looking for something slightly different? Feel free to leave a comment below and we will do our best to help you!