第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

根據(jù)重量僅向某些類別(或除某些類別外的所有購物車)添加購物車附加費(fèi)

根據(jù)重量僅向某些類別(或除某些類別外的所有購物車)添加購物車附加費(fèi)

PHP
BIG陽 2023-04-02 11:17:38
一位朋友讓我根據(jù)重量在購物車上添加額外費(fèi)用,并且僅針對特定類別(或排除某些類別,這無關(guān)緊要)。主題是,對于夏天,他想在包裝中加冰以保持產(chǎn)品(例如牛奶、奶酪等)冷藏。他還銷售小工具和帶導(dǎo)游參觀他的工廠等,因此他不想對這些產(chǎn)品收取額外費(fèi)用?;凇案鶕?jù)Woocommerce 中的總重量添加自定義費(fèi)用”答案,我的代碼版本如下,對整個(gè)購物車應(yīng)用額外費(fèi)用,從該費(fèi)用中排除訪問產(chǎn)品,因?yàn)樵L問的權(quán)重顯然為 0。但我不是代碼專家,我不知道如何插入一個(gè)數(shù)組以包含“牛奶”和“奶酪”等類別(反之亦然,以排除“訪問”和“小工具”)。上癮了,我的代碼增加了 3 公斤的費(fèi)用(由于 DHL/UPS/GLS 等對數(shù)據(jù)包的尺寸進(jìn)行調(diào)整)/* Extra Fee based on weight */add_action( 'woocommerce_cart_calculate_fees', 'shipping_weight_fee', 30, 1 );function shipping_weight_fee( $cart ) {    if ( is_admin() && ! defined( 'DOING_AJAX' ) )        return;    // Convert in grams    $cart_weight = $cart->get_cart_contents_weight() * 1000;    $fee = 0.00; // initial fee     // if cart is > 0 add €1,20 to initial fee by steps of 3000g    if( $cart_weight > 0 ){        for( $i = 0; $i < $cart_weight; $i += 3000 ){            $fee += 1.20;        }    }        // add the fee / doesn't show extra fee if it's 0    if ( !empty( $fee )) {    $cart->add_fee( __( 'Extra for ice' ), $fee, false );        }}最后一個(gè)問題是:為什么 $i 變量可以是 0...1...1000000 而結(jié)果沒有任何變化?代碼似乎完全一樣......謝謝
查看完整描述

1 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

以下代碼基于:

  • 預(yù)定義類別

  • 基于產(chǎn)品重量(屬于預(yù)定義類別的產(chǎn)品)

  • 費(fèi)用逐步增加

(注釋并在代碼中添加解釋)

function shipping_weight_fee( $cart ) {

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

        return;


    /* SETTINGS */


    // Specific categories

    $specific_categories = array( 'categorie-1', 'categorie-2' );


    // Initial fee

    $fee = 1.20;


    // Steps of kg

    $steps_of_kg = 3;


    /* END SETTINGS */


    // Set variable

    $total_weight = 0;


    // Loop though each cart item

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

        // Get product id

        $product_id = $cart_item['product_id'];


        // Get weight

        $product_weight = $cart_item['data']->get_weight();


        // NOT empty & has certain category     

        if ( ! empty( $product_weight ) && has_term( $specific_categories, 'product_cat', $product_id ) ) {

            // Quantity

            $product_quantity = $cart_item['quantity'];


            // Add to total

            $total_weight += $product_weight * $product_quantity;

        }

    }


    if ( $total_weight > 0 ) {          

        $increase_by_steps = ceil( $total_weight / $steps_of_kg );


        // Add fee

        $cart->add_fee( __( 'Extra for ice' ), $fee * $increase_by_steps, false );      

    }

}

add_action( 'woocommerce_cart_calculate_fees', 'shipping_weight_fee', 10, 1 );


查看完整回答
反對 回復(fù) 2023-04-02
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)