首页 文章

WooCommerce结帐最低订单基于城市

提问于
浏览
-2

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

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

1 回答

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

相关问题