在Woocommerce中不需要结帐邮寄邮政编码字段

时间:2017-12-17 20:26:07

标签: php wordpress woocommerce field checkout

所以我按照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

有谁可以指出这里的问题是什么?

1 个答案:

答案 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