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


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, '' );
        }

    }

}

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

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

شكر