所以我按照Link的说明更改了邮政编码的必填字段。
add_filter( 'woocommerce_billing_fields', 'wc_optional_billing_fields' );
function wc_optional_billing_fields( $address_fields ) {
$address_fields['shipping_postcode']['required'] = false;
return $address_fields;
}
不幸的是,它没有改变所需的第二个字段: Image
有谁可以指出这里的问题是什么?
答案 0 :(得分:1)
之所以发生这种情况,是因为您使用的
woocommerce_billing_fields
摘要过滤器仅为发货邮政编码字段管理结算字段 ...
您可以尝试使用woocommerce_shipping_fields
过滤器钩子,但它不起作用,因为邮政编码结帐字段是一个非常特殊字段,只能设置不需要使用以下钩子函数:
add_filter( 'woocommerce_default_address_fields', 'customise_postcode_fields' );
function customise_postcode_fields( $address_fields ) {
$address_fields['postcode']['required'] = false;
return $address_fields;
}
因此,您可以看到它对结算和发送邮政编码字段起作用。显然,不能仅将其用于发票和运输领域的邮政编码字段。
官方文档教程:Customizing checkout fields using actions and filters