[php] إيداع على أساس نسبة مئوية من إجمالي قيمة العربة



0 Answers

Question

لقد اتخذت هذا الرمز من آخر آخر وأساسا من وجهة نظري، هذا الرمز هو محاولة لإجبار سعر العربة للتغيير إلى مبلغ ثابت من 40 $، وشحنه كرسم الحجز.

ما أريد القيام به هو إجبار كمية العربة لتكون 20٪ من ما مجموعه سوف تقوم على إضافة جميع المنتجات في العربة. موقعي هو للحجز ، لذلك أريد فقط لشحن وديعة ومن ثم دفع لهم عند استخدام تحفظهم.

هنا هو رمز من هذا المنصب: ووكومرس إيداع العربة

add_action( 'woocommerce_cart_calculate_fees', 'booking_fee' );
function booking_fee() {
    global $woocommerce;

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

    $bookingfee_array = array( '2434' );

    $fixed = 40.00;

    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {

        if( in_array( $values['product_id'], $bookingfee_array ) ) {
            $surcharge = $fixed;
            $woocommerce->cart->add_fee( 'Broneeringutasu', $surcharge, true, '' );
        }

    }

}

وهنا كيف يمكنني تغييره:

add_action( 'woocommerce_cart_calculate_fees', 'booking_fee' );
function booking_fee() {
    global $woocommerce;

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

    $bookingfee_array = array( '2434' );

    $percent = .20;

    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {

        if( in_array( $values['product_id'], $bookingfee_array ) ) {
            $surcharge = $percent;
            $woocommerce->cart->add_fee( 'Booking Fee', $surcharge, true, '' );
        }

    }

}

ولكن هذا لا يعمل كما هو متوقع.

أي مساعدة على هذا؟

شكر




Related