我正在开发的网站正在使用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 );
然而,它在我创建的自定义表单中无法正常工作。谁能帮我这个?提前谢谢。