php - 将 Woocommerce 结账状态字段设置为必填字段

标签 php wordpress woocommerce state checkout

所以这个问题可能有一个简单的解决方案,但我暂时陷入困境。上次更新(Woocommerce 3.3.5)后,我在结帐页面上的状态字段出现问题,因为它不是强制性的,人们只是跳过它。我真的需要强制执行此操作,因为我已通过 API 将我的网站连接到送货公司服务器,以将订单信息直接发送给他们。

我尝试将其添加到我的functions.php中,问题是当我进入结账页面时,该字段有一个星号,但持续了大约一秒钟。

add_filter( 'woocommerce_billing_fields', 'woo_filter_state_billing', 
10, 1 );
add_filter( 'woocommerce_shipping_fields', 
'woo_filter_state_shipping', 10, 1 );

function woo_filter_state_billing( $address_fields ) { 
$address_fields['billing_state']['required'] = true;
return $address_fields;
}
function woo_filter_state_shipping( $address_fields ) { 
$address_fields['shipping_state']['required'] = true;
return $address_fields;
}

感谢任何帮助。谢谢!

最佳答案

默认情况下,在 Last woocommerce 版本 3.3.5 中,state 字段是必需的...因此,在您的情况下,有些东西使该字段“不是”必需的。

您可以尝试这个(同时适用于计费和运输字段):

add_filter( 'woocommerce_default_address_fields' , 'make_state_field_required', 90, 1 );
function make_state_field_required( $address_fields ) {
     $address_fields['state']['required'] = true;

     return $address_fields;
}

代码位于事件子主题(或事件主题)的 function.php 文件中。它可以工作。

关于php - 将 Woocommerce 结账状态字段设置为必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50485012/

相关文章:

php - 添加到 WooCommerce 结账页面的文本链接

php - 未捕获的异常 'MongoException',消息为 'Invalid object ID'

php - 如何选择字段作为日期和时间

javascript - Jquery Ajax将数据传递到另一个php文件来更新数据库只允许更新一次(Wordpress)

css - WooCommerce:更改小部件中 "add to cart"按钮的样式

php - 如何在新标签/窗口中打开每个 Wordpress 帖子?

rest - WooCommerce API-更新订单元字段

php - 我可以隐藏损坏的图像吗?

php - 如何使用 jquery ajax 和 php 裁剪图像?

php - 数据库中的日期条目在哪里 - Cyber​​sourcePK 的 WooCommerce 事件管理器