基于邮政编码的最低订单woocommerce

时间:2017-03-13 15:52:08

标签: php woocommerce hook-woocommerce

我试图在woocommerce结帐页面上根据用户输入的zip / pin码实现最低订单。 我在主题的functions.php中尝试了以下代码,但仍然没有得到任何所需的输出。

当我点击下订单按钮时​​,我在控制台中收到checkout.min.js错误。 当我重新加载结帐页面时,我能够看到所需的错误('您没有达到最低订单总数')

我相信我在function.php

中犯了一些错误

非常感谢整顿。

        function check_min_order($order_id) {
              global $woocommerce;
                 $order = new WC_Order($order_id);
                 $address = $order->get_address();
                 $total = $order->calculate_totals();
                 $postcode= $address['postcode'];
                 $zipcodes1 = array('400064' , '400062' , '400067');
                 $zipcodes2 = array('400054' , '400042' , '400071');

        $minOrderZip1 =500;
        $minOrderZip2 =1500;

        if(in_array($postcode, $zipcodes1) && $total <= $minOrderZip1 ){
                     wc_add_notice( "You did not meet the minimum order total. $minOrderZip1", 'error' );
                     exit;
                 }
                 if(in_array($postcode, $zipcodes2) && $total <= $minOrderZip2 ){
                     wc_add_notice( "You did not meet the minimum order total. $minOrderZip2", 'error' );
                     exit;
                 }
        }
        add_action( 'woocommerce_checkout_order_processed', 'check_min_order',  1, 1  );

0 个答案:

没有答案