WooCommerce Booking&预约插件:购物车和结帐页面上的价格错误

时间:2016-01-31 06:16:58

标签: wordpress woocommerce

我正在开发的网站正在使用WooCommerce Booking&约会插件(http://www.tychesoftwares.com/store/premium-plugins/woocommerce-booking-plugin),我创建了一个自定义表单,一次将多个产品添加到购物车。这是代码:

function booking_add_to_cart() {
    if ($_POST && is_post_type_archive('product')) {
        global $woocommerce;
        if(is_array($_POST['qty']) && !empty($_POST['qty'])) {
            $woocommerce->cart->empty_cart(); //Clear the cart

            foreach ($_POST['qty'] as $product_id => $qty) {
                $qty = intval($qty);
                $product_id = intval($product_id);
                if ($qty > 0 && $product_id > 0) {  
                    $woocommerce->cart->add_to_cart($product_id, $qty); // Add product to cart individually.                                    
                }
            }

            $checkout_url = $woocommerce->cart->get_checkout_url();
            wp_redirect( $checkout_url ); //Redirect to checkout page
        }
    }
}
add_action( 'template_redirect', 'booking_add_to_cart');

但结帐页面的价格有问题。其中一些是正确的,有些是不正确的。

该插件使用三个过滤器来修改价格:

add_filter('woocommerce_add_cart_item_data', array('bkap_cart', 'bkap_add_cart_item_data'), 25, 2);
                add_filter('woocommerce_get_cart_item_from_session', array('bkap_cart', 'bkap_get_cart_item_from_session'), 25, 2);
                add_filter( 'woocommerce_get_item_data', array('bkap_cart', 'bkap_get_item_data_booking'), 25, 2 );

然而,它在我创建的自定义表单中无法正常工作。谁能帮我这个?提前谢谢。

0 个答案:

没有答案