我是woocommerce的新手,所以我需要你帮助找出我过去3天试图解决的问题。简而言之,我在5个地点有一家披萨店。每个位置都有最低订单。在结帐时,我根据它制作了一个自定义城市选择选项字段,将接受或拒绝总账单。我正在使用结账经理。它真的很混乱。 所以我的问题是如何做到这一点并实现这一结果。我不想对所有内容进行硬编码,因为未来的位置可能会发生变化。
解决此问题的任何方法。在此先感谢。
答案 0 :(得分:1)
function check_min_order($order_id) {
global $woocommerce;
$order = new WC_Order($order_id);
$total = $order->calculate_totals();
if (!$total > 'YOUR MINIMUM AMOUNT HERE') {
wc_add_notice( 'You did not meet the minimum order total.', 'error' );
exit;
}
}
add_action( 'woocommerce_checkout_order_processed', 'check_min_order', 1, 1 );
将此添加到您的functions.php
我可能使用错误的命令设置了$ total变量。但这应该让你大致了解如何实现这一目标。它会中断订单流程并检查总额,看它是否符合您的最低金额。您可以在表单字段中为每个案例创建一系列if语句或switch语句。无论城市的请求对象的名称是什么,您都可以使用$_REQUEST['your_city_field_name']
来获取值。
如果满足条件,则会返回woocommerce格式化错误并停止处理事务。如果没有,它将继续正常。