清空所有国家(地区)以外的所有WooCommerce结帐字段

时间:2019-03-22 21:17:06

标签: php wordpress woocommerce checkout country

在我的WooCommerce结帐页面上,我希望帐单字段为空,但帐单国家/地区除外。

我正在使用它来确保结帐表格填写后为空白:

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

但是,我确实希望填写“开票国家/地区”字段,并且默认为美国。所以我有这个:

add_filter( 'default_checkout_billing_country', 'change_default_checkout_country' );

function change_default_checkout_country() {
  return 'US'; 
}

但是,只要我有第一个过滤器,该字段就会显示为空白。除了开票国家/地区,我如何将所有字段都留空?

1 个答案:

答案 0 :(得分:0)

Try the following instead, that will blank all checkout field, except the billing and shipping countries that will be set to a specific country:

add_filter('woocommerce_checkout_get_value', 'checkout_get_value_filter', 10, 2 );
function checkout_get_value_filter( $value, $input ) {
    // The defined country code
    $country_code = 'US';

    // Set the billing and shipping country
    WC()->customer->set_billing_country($country_code);
    WC()->customer->set_shipping_country($country_code);

    // Display only the billing and shipping country
    if( 'billing_country' === $input || 'shipping_country' === $input ){
        return $country_code;
    } else {
        return '';
    }
}

代码在您的活动子主题(或活动主题)的function.php文件上。经过测试,可以正常工作。