首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Woocommerce Force Sells/Bookings -强制预订人数的代码片段

Woocommerce Force Sells/Bookings -强制预订人数的代码片段
EN

Stack Overflow用户
提问于 2019-09-14 00:58:55
回答 1查看 153关注 0票数 0

在WooCommerce上,我使用的是WooCommerce bookings和WooCommerce force销售插件。

我想使用WooCommerce强制销售为预订中的每个人添加一个强制销售项目。

Woocommerce guys已经提供了一个要添加到functions.php中的代码片段,它可以修改Force Sells的行为。使用此代码片段,您可以设置要添加的副产品的固定数量(1):

代码语言:javascript
复制
// 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),该函数检索在预订中指定的人数。

任何帮助都是很棒的。

EN

回答 1

Stack Overflow用户

发布于 2019-09-14 08:36:47

我想我找到了!

代码语言:javascript
复制
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' );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57927652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档