skip to Main Content

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);

2

Answers


  1. You could probably achieve this with some custom javascript:

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

    Or jQuery:

    $('#fieldID').val('');
    
    Login or Signup to reply.
  2. 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 );
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search