woocommerce - 当没有可用的运输选项时隐藏“下订单”按钮
问题描述
我的 woocommerce 商店位于英国,使用 FedEx 向英国市场和国际市场销售大件商品。
我使用 FedEx 进行国际运送,但有时无法运送到某个地址,并且客户收到“无法运送”消息。但是,据我所知,Woocommerce 仍然允许客户在这些情况下下订单,从而导致订单无法履行。是否有一个我缺少的简单设置说如果没有可用的运输,不要下订单?
我确实找到了这个资源 - https://www.bolderelements.net/support/knowledgebase/removing-checkout-button-shipping-not-available/但这只会消除进入结帐页面的能力。
似乎应该为这种基本的东西设置一个设置?
解决方案
我最终解决了这个问题,没有隐藏按钮,而是在没有发货的情况下强制出错。我为此使用了 woocommerce_checkout_process 操作:
function is_valid_shipping() {
$selected_shipping = WC()->session->get('chosen_shipping_methods');
if(in_array(false, $selected_shipping)){
wc_add_notice( __( 'Your Shipping is not valid.' ), 'error' );
}
}
add_action( 'woocommerce_checkout_process', 'is_valid_shipping' );
希望这对其他人有帮助!
推荐阅读
- sequelize.js - 使用模块化表名进行续集
- apache-spark - Spark - Python:选择行和日期
- ios - 我如何为 WonderPushNotificationServiceExtension 解决这个问题
- c++ - 如何删除结构中的类变量?
- c# - 如何使用工作表通过 URL 将图像添加到 Excel 文件
- javascript - 允许重复使用标签的 Javascript 多选库
- mongodb - 客户端的客户端密码验证失败
- c# - 如何以编程方式在 WPF 上的 DataGrid 中简单地添加行?
- javascript - 使用 NgRx 对状态进行分组不起作用
- php - 使用 wsdl 模式验证 soap 输入并显示验证错误