0

使用 WooCommerce,我正在使用 WooCommerce 预订和 WooCommerce 强制销售插件。

我想使用 WooCommerce Force Sells 在预订中为每个人数添加一件强制销售的商品。

Woocommerce 家伙已经提供了一个要添加到 functions.php 中的片段,它可以修改 Force Sells 的行为。使用此代码段,您可以设置要添加的固定数量 (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)。

任何帮助都是极好的。

4

1 回答 1

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' );
于 2019-09-14T00:36:46.693 回答