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主题)