我已经按照下面的代码使用该方法使checkout字段可选 . 但是,我发现当非登录用户提交订单时,填写地址字段的警报会跳出 .

add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
function custom_override_default_address_fields($address_fields) {

    $address_fields['first_name']['required'] = false;
    $address_fields['last_name']['required'] = false;
    $address_fields['address_1']['required'] = false;
    $address_fields['address_1']['placeholder'] = '';
    $address_fields['address_2']['required'] = false;
    $address_fields['address_2']['placeholder'] = '';
    $address_fields['postcode']['required'] = false;
    $address_fields['city']['required'] = false;

return $address_fields;
}

顺便说一下,我还尝试将结算和发货字段单独选为链接WooCommerce: Disabling checkout fields with a filter hook中的方法 .