Home > Back-end >  How to clear WooCommerce billing email and billing phone checkout fields after place order?
How to clear WooCommerce billing email and billing phone checkout fields after place order?

Time:09-22

How do I clear a specfic checkout fields in WooCommerce after placing an order?

For example Billing email and Billing Phone. So that when the registered customer makes his/her next order, he/she has to fill that fields again?

I see this code, but this clean all the fields, i need only a specific field. Any advice?

add_filter('woocommerce_checkout_get_value','__return_empty_string',10);

CodePudding user response:

The woocommerce_checkout_get_value hook has 2 arguments:

  • $value argument that is returned
  • $input argument to target checkout field(s)

So in your case, you get:

function filter_woocommerce_checkout_get_value( $value, $input ) {
    // Target checkout fields. Multiple fields can be added, separated by a comma
    if ( in_array( $input, array( 'billing_phone', 'billing_email' ) ) ) {
        $value = '';
    }

    return $value;
}
add_filter( 'woocommerce_checkout_get_value' , 'filter_woocommerce_checkout_get_value' , 10, 2 );

CodePudding user response:

You could probably achieve this with some custom javascript:

document.getElementById('fieldID').value = ''

Or jQuery:

$('#fieldID').val('');
  • Related