【问题标题】:Woocommerce percentage discount per item based on quantityWoocommerce 基于数量的每件商品百分比折扣
【发布时间】:2021-01-01 11:56:24
【问题描述】:

根据WooCommerce Cart Quantity Base Discount答案代码,我在购物车中应用了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);
}

但我想管理每个产品的数量折扣。

您对此有什么建议吗?

【问题讨论】:

    标签: php wordpress woocommerce cart discount


    【解决方案1】:

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

    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 文件中。它应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多