php - 将 Woocommerce 结帐状态字段设为必填
问题描述
所以这个问题可能有一个简单的解决方案,但我暂时被卡住了。在上次更新(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 中,状态字段是必需的……因此,在您的情况下,有些东西使该字段“不需要”。
您可以试试这个(同时处理帐单和运输字段):
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 文件中。它可以工作。
推荐阅读
- python - 使用字典遍历列列表 pandas
- r - 加载 R 包 sjPlot 时出现命名空间错误
- activerecord - 耙设置 - ActiveRecord::RecordInvalid:验证失败:
- django - 如何在 Heroku 上使用 django 自动创建超级用户?
- google-apps-script - 谷歌表格:如何制作一个宏/脚本,对于所有选定的行,在下面插入两行,然后复制并粘贴原始内容?
- python - 如何从列表中删除项目及其在其他列表中的关联项目
- android - 在 Android 上,是否有用于存储共享首选项的线程安全方法?
- python - 列表有问题并找到 Python
- python - 如何操作 3D 数组以将笛卡尔坐标转换为球坐标
- python - 将 tweepy 流数据转换为数据帧