为了账号安全,请及时绑定邮箱和手机立即绑定

Woocommerce 根据数量对每件商品进行百分比折扣

Woocommerce 根据数量对每件商品进行百分比折扣

PHP
森林海 2024-01-19 17:26:19
根据WooCommerce 购物车数量基本折扣答案代码,我对购物车上的 xx 产品应用折扣,具体如下:  add_action( 'woocommerce_cart_calculate_fees','wc_cart_quantity_discount', 10, 1 );function wc_cart_quantity_discount( $cart_object ) {    if ( is_admin() && ! defined( 'DOING_AJAX' ) )        return;    ## -------------- DEFINIG VARIABLES ------------- ##    $discount = 0;    $cart_item_count = $cart_object->get_cart_contents_count();    $cart_total_excl_tax = $cart_object->subtotal_ex_tax;    ## ----------- CONDITIONAL PERCENTAGE ----------- ##    if( $cart_item_count <= 17 )        $percent = 0;    elseif( $cart_item_count >= 18 && $cart_item_count <= 120 )        $percent = 10;    ## ------------------ CALCULATION ---------------- ##    $discount -= ($cart_total_excl_tax / 100) * $percent;    ## ----  APPLYING CALCULATED DISCOUNT TAXABLE ---- ##    if( $percent > 0 )        $cart_object->add_fee( __( 'Remise sur la quantité 10%', 'woocommerce' ), $discount, true);}但我想管理每种产品的数量折扣。你对此有什么建议吗?
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

以下将根据商品数量进行百分比折扣:


add_action( 'woocommerce_cart_calculate_fees','cart_quantity_discount' );

function cart_quantity_discount( $cart ) {

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )

        return;


    $discount = 0; // Initializing

    $percent  = 10;  // Percentage

    

    // Loop through cat items

    foreach ( $cart->get_cart() as $cart_item ) {

        $subtotal = $cart_item['line_total'];

        

        // Calculation by Item based on quantity

        if( $cart_item['quantity'] > 17 ) {

            $discount += $cart_item['line_total'] * $percent / 100;

        }

    }

    

    if( $discount > 0 ) {

        $cart->add_fee( __( "Item quantity discount", "woocommerce" ), -$discount, true );

    }   

}

代码位于活动子主题(或活动主题)的functions.php 文件中。它应该有效。


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 38 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信