Woocommerce Force销售/预订-片段以强制预订中的人数

时间:2019-09-13 16:58:55

标签: php woocommerce woocommerce-bookings

我通过WooCommerce使用WooCommerce预订,并且WooCommerce强制销售插件。

我想使用WooCommerce强制销售在预订中为每人增加一个强制销售的物品。

Woocommerce的家伙已经提供了一个片段,可以在functions.php中添加它,以修改强制销售的行为。通过此代码段,您可以设置要添加的固定数量(1)的副产品:

// only add one force sell item per product no matter how many of the original product are added

function my_wc_force_sell_add_to_cart_product( $product ){

    $product['quantity'] = 1;

    return $product;

}

add_filter( 'wc_force_sell_add_to_cart_product', 'my_wc_force_sell_add_to_cart_product' );


// when a synced force sell product is updated always set it to 1

function my_wc_force_sell_update_quantity( $quantity, $product ){

    return 1;

}

add_filter( 'wc_force_sell_update_quantity', 'my_wc_force_sell_update_quantity' );

我想做的事:用检索预订中指定人数的功能代替固定数量(1)。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

我想我找到了!

function my_wc_force_sell_add_to_cart_product( $product ){
    foreach(WC()->cart->get_cart() as $cart_item) {
    // The item persons count
    $person = array_sum( $cart_item['booking']['_persons'] );
}
    $product['quantity'] = $person;
    return $product;
}
add_filter( 'wc_force_sell_add_to_cart_product', 'my_wc_force_sell_add_to_cart_product' );

// when a synced force sell product is updated always set it to 1
function my_wc_force_sell_update_quantity( $quantity, $product ){
    return 1;
}
add_filter( 'wc_force_sell_update_quantity', 'my_wc_force_sell_update_quantity' );