清空所有WooCommerce发货结帐字段

问题描述

我遇到了一个与此类似的问题,How to blank all WooCommerce checkout fields by default except country?的答案代码可以满足我的需求,但是当客户单击结帐按钮时,该代码将覆盖所有woocommerce送货以及帐单结帐字段。

如果我只希望将运输字段保留为空白,那么代码将如何显示

解决方法

要清空所有WooCommerce发货结帐字段,您将使用以下内容:

add_filter('woocommerce_checkout_get_value','checkout_get_value_filter',10,2 );
function checkout_get_value_filter( $value,$input ) {
    if ( strpos($input,"shipping_") === 0 ) {
        return '';
    }
    return $value;
}

或者还指定了每个相关的运输字段关键字:

add_filter('woocommerce_checkout_get_value',$input ) {
    $key_fields = array(
        'shipping_first_name','shipping_last_name','shipping_company','shipping_country','shipping_address_1','shipping_address_2','shipping_city','shipping_state','shipping_postcode',);
    
    if ( in_array($input,$key_fields) ) {
        return '';
    }
    return $value;
}

代码在活动子主题(或活动主题)的functions.php文件中。应该可以。