Puddinq.com sharing knowledge

WooCommerce rename fields and make them required

WooCommerce rename fields and make them required

The following code can be pasted in your functions.php file and works immediate.

add_filter( 'woocommerce_checkout_fields' , 'puddinq_override_checkout_fields' );
 
// Hooked in function - $fields is passed in the filter!
function puddinq_override_checkout_fields( $fields ) {
 
    $fields['billing']['billing_address_1']['label']        = 'Street';
    $fields['billing']['billing_address_1']['placeholder']  = 'Street';
    $fields['billing']['billing_address_2']['label']        = 'Number';
    $fields['billing']['billing_address_2']['placeholder']  = 'Number';
    $fields['billing']['billing_address_2']['required']     = 1;
    $fields['shipping']['shipping_address_1']['label']      = 'Street';
    $fields['shipping']['shipping_address_1']['placeholder']= 'Street';
    $fields['shipping']['shipping_address_2']['label']      = 'Number';
    $fields['shipping']['shipping_address_2']['placeholder']= 'Number';
    $fields['shipping']['shipping_address_2']['required']   = 1;
 
    return $fields;
}

To unravel the code above: the filter holds the $fields in an array. We change the values of the array to get what we want. We are changing both the ‘billing’ and shipping form, changing the address_1 and address_2 field labels and placeholder. In the case of address_2 we also set the required to 1 to make the field required.

  • All other fields remain the same
  • The fields will hold the same place in mails, and orders.