清空所有 WooCommerce 运输结帐字段

Blank all WooCommerce shipping checkout fields

我遇到了这个 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', 'checkout_get_value_filter', 10, 2 );
function checkout_get_value_filter( $value, $input ) {
    $key_fields = array(
        'shipping_first_name',
        'shipping_last_name',
        'shipping_company',
        'shipping_country',
        'shipping_address_1',
        'shipping_address_2',
        'shipping_city',
        'shipping_country',
        'shipping_state',
        'shipping_postcode',
    );
    
    if ( in_array($input, $key_fields) ) {
        return '';
    }
    return $value;
}

代码在您的活动子主题(或活动主题)的 functions.php 文件中继续。它应该有效。