WooCommerce - 禁用邮政编码验证

时间:2014-04-27 15:24:14

标签: wordpress validation woocommerce postal-code

有人知道如何在WooCommerce的结帐页面上禁用邮政编码验证吗?

我的国家设立为瑞士,但我也希望奥地利和德国的人能够订购。

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

知道如何解决这个问题吗?

3 个答案:

答案 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”类,此功能将被停用(无测试)。

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