WooCommerce - 禁用邮政编码验证

Posted

技术标签:

【中文标题】WooCommerce - 禁用邮政编码验证【英文标题】:WooCommerce - disable postcode validation 【发布时间】:2014-04-27 15:24:13 【问题描述】:

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

我的国家设置为瑞士,但我也希望奥地利和德国的人允许订购。

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

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

【问题讨论】:

【参考方案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;

【讨论】:

我将代码添加到 functions.php 但不幸的是它仍然不起作用:( 没关系 :) 但是现在我根本看不到任何邮政编码字段...它实际上应该是可见的,但我只想能够输入任何类型的数字。对不起,如果我的帖子不清楚。 仍然说邮政编码无效:(即使该字段现在不是必填字段...也许您有其他想法??? 应该可以。也许你有一些影响它的插件? 上述答案删除了邮政编码,而 op 只想禁用验证。我一直在寻找相同问题的答案。【参考方案2】:

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

WooCommerce > Preferences > General > Geolocate address 

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

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

以上是关于WooCommerce - 禁用邮政编码验证的主要内容,如果未能解决你的问题,请参考以下文章

php [WooCommerce Core]删除WooCommerce页面上的面包屑(On Woo主题)

php [WooCommerce Core]删除WooCommerce页面上的面包屑(On Woo主题)

php [WooCommerce Core]删除WooCommerce页面上的面包屑(On Woo主题)

php [WooCommerce Core]每行更改产品数量(Woo主题)

php [WooCommerce Core]每行更改产品数量(Woo主题)

php [WooCommerce Core]每行更改产品数量(Woo主题)