Woocommerce 基于城市的最低订单数量

Woocommerce 基于城市的最低订单数量,woocommerce,checkout,minimum,orders,Woocommerce,Checkout,Minimum,Orders,我是woocommerce的新手,所以我需要你帮助我找到过去三天来我一直试图解决的问题。简言之,我在5个地点有一家比萨饼店。每个地点都有最低订购量。在结帐时,我做了一个自定义城市选择选项字段,根据它,总账单将被接受或拒绝。我正在使用收银台管理器。真让人困惑。 所以我的问题是,我如何才能做到这一点,并实现这一结果。我不想硬编码,因为在未来的位置可能会改变 这个问题的任何解决方案。提前谢谢 function check_min_order($order_id) { global $

我是woocommerce的新手,所以我需要你帮助我找到过去三天来我一直试图解决的问题。简言之,我在5个地点有一家比萨饼店。每个地点都有最低订购量。在结帐时,我做了一个自定义城市选择选项字段,根据它,总账单将被接受或拒绝。我正在使用收银台管理器。真让人困惑。 所以我的问题是,我如何才能做到这一点,并实现这一结果。我不想硬编码,因为在未来的位置可能会改变

这个问题的任何解决方案。提前谢谢

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语句。无论城市请求对象的名称是什么,您都可以使用
$\u request['your\u city\u field\u name']
获取值


如果满足条件,则它将返回一个格式化错误并停止事务处理。如果没有,它将继续正常运行。

“我不想硬编码所有内容,因为在未来的位置可能会发生变化。”-那么,将它们存储在数据库中……还有一个原因我不太了解谢谢你。我会努力做到这一点。