WooCommerce结帐最低订单基于城市

时间:2017-02-24 18:11:54

标签: woocommerce checkout minimum orders

我是woocommerce的新手,所以我需要你帮助找出我过去3天试图解决的问题。简而言之,我在5个地点有一家披萨店。每个位置都有最低订单。在结帐时,我根据它制作了一个自定义城市选择选项字段,将接受或拒绝总账单。我正在使用结账经理。它真的很混乱。 所以我的问题是如何做到这一点并实现这一结果。我不想对所有内容进行硬编码,因为未来的位置可能会发生变化。

解决此问题的任何方法。在此先感谢。

1 个答案:

答案 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格式化错误并停止处理事务。如果没有,它将继续正常。