Wordpress WooCommerce-禁用邮政编码验证

Wordpress WooCommerce-禁用邮政编码验证,wordpress,validation,woocommerce,postal-code,Wordpress,Validation,Woocommerce,Postal Code,有人知道如何在WooCommerce中禁用签出页面上的邮政编码验证吗 我的国家是瑞士,但我也希望奥地利和德国的人可以点菜 因此,当我输入一个5位数的德国邮政编码(在瑞士只有4位)时,商店会说这是一个无效的邮政编码。(但在我允许的所有国家的设置中) 知道如何修复吗?将此代码添加到functions.php文件应该可以: function custom_override_default_address_fields( $address_fields ) { unset( $address_

有人知道如何在WooCommerce中禁用签出页面上的邮政编码验证吗

我的国家是瑞士,但我也希望奥地利和德国的人可以点菜

因此,当我输入一个5位数的德国邮政编码(在瑞士只有4位)时,商店会说这是一个无效的邮政编码。(但在我允许的所有国家的设置中)


知道如何修复吗?

将此代码添加到functions.php文件应该可以:

function custom_override_default_address_fields( $address_fields ) 
{
    unset( $address_fields['postcode'] );
    return $address_fields;
}
编辑:

另一编辑:

add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );

function custom_override_default_address_fields( $address_fields ) 
{
    $address_fields['postcode']['required'] = false;
    return $address_fields;
}

所以我并没有找到一个简单的代码解决方案,但是我注意到如果我设置

WooCommerce > Preferences > General > Geolocate address 

它将起作用(在我的情况下,如果设置为“向所有国家/地区销售”)

此代码仅删除我的帐户页面中地址字段的验证,您需要:

add_filter( 'woocommerce_default_address_fields',
   'custom_override_default_address_fields' );

function custom_override_default_address_fields($address_fields)
{
    $address_fields['postcode']['validate'] = false;
    return $address_fields;
}
对于账单和装运:

 add_filter( 'woocommerce_checkout_fields' , 'remove_postcode_validation', 99 );

function remove_postcode_validation( $fields ) {

unset($fields['billing']['billing_postcode']['validate']);
unset($fields['shipping']['shipping_postcode']['validate']);

return $fields;
}
另外,我认为删除wc-template-function.php中的“validate required”类后,该功能将被停用(无需测试)


很抱歉英语不好,希望这个解决方案能解决您的问题。

我将代码添加到functions.php中,但不幸的是它仍然不起作用:(Nevermind:)但现在我根本看不到任何邮政编码字段。。。它实际上应该是可见的,但我只想能够键入任何类型的数字。抱歉,如果我的帖子不清楚。仍然说邮政编码无效:(即使该字段现在不是必填字段…也许你有另一个想法???应该这样做。也许你有一些插件可以实现这一点?上面的答案删除了邮政编码,而op只想禁用验证。我一直在寻找同一个问题的答案。
 add_filter( 'woocommerce_checkout_fields' , 'remove_postcode_validation', 99 );

function remove_postcode_validation( $fields ) {

unset($fields['billing']['billing_postcode']['validate']);
unset($fields['shipping']['shipping_postcode']['validate']);

return $fields;
}