有人知道如何在WooCommerce的结帐页面上禁用邮政编码验证吗?
我的国家设立为瑞士,但我也希望奥地利和德国的人能够订购。
因此,当我输入一个5位数的德国邮政编码时(瑞士只有4位),商店说这是一个无效的邮政编码。 (但在我允许的每个国家的设置中)。
知道如何解决这个问题吗?
答案 0 :(得分:2)
所以我实际上没有为这个找到一个简单的代码解决方案,但我注意到如果我设置
WooCommerce > Preferences > General > Geolocate address
它会起作用(如果设置设置为"卖给所有国家",在我的情况下)
答案 1 :(得分:1)
将此代码添加到functions.php文件应该有效:
function custom_override_default_address_fields( $address_fields )
{
unset( $address_fields['postcode'] );
return $address_fields;
}
编辑:
// Hook into the checkout fields (shipping & billing)
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
// Hook into the default fields
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
function custom_override_checkout_fields( $fields )
{
unset( $fields['billing']['billing_postcode'] );
unset( $fields['shipping']['shipping_postcode'] );
return $fields;
}
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;
}
答案 2 :(得分:0)
此代码仅删除my-account页面中的地址字段验证,您需要:
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”类,此功能将被停用(无测试)。
抱歉英语不好,希望这个解决方案可以解决您的问题。