我试图在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 );