شرطی کردن قسمت حمل و نقل

mojtaba472

تازه وارد
10/7/11
21
2
3
سلام دوستان

وقت بخیر

من نیاز دارم قسمت حمل و نقل به صورت شرطی باشه. به این صورت که مشتری اگر محصولی را انتخاب کرد که بالای 3 گیلوگرم وزن داشت فقط قسمت پست سفارشی براش فعال بشه در غیر اینصورت پست پیشتاز.

ممنون میشم من راهنمایی کنید.
 

Mohammad

مدیر انجمن
عضو کادر مدیریت
6/4/08
15,442
367
83
31
PersianScript
راهکار آماده ای براش وجود نداره. باید اختصاصی کدی براتون طراحی بشه...
 

Mohammad

مدیر انجمن
عضو کادر مدیریت
6/4/08
15,442
367
83
31
PersianScript
البته این رو یافتم!
تست کنید

PHP:
add_filter( 'woocommerce_package_rates', 'hide_shipping_weight_based', 10, 2 );
function hide_shipping_weight_based( $rates, $package ) {
    // Set weight variable
    $cart_weight = 0;
 
    // Shipping rate to be excluded
    $shipping_id = 'table_rate_shipping_first-class';
 
    // Calculate cart's total
    foreach( WC()->cart->cart_contents as $key => $value)
        $cart_weight += $value['data']->weight * $value['quantity'];
 
    if( $cart_weight <= 30 )
        unset( $rates[ $shipping_id ] );
 
    return $rates;
}
table_rate_shipping_first-class = ایدی روش حمل و نقل
cart_weight <= 30 اینجا وزن محصول رو نوشته! اگر وزن بیش از 30 (کیلوگرم یا گرم یا هر چی در تنظیمات! باشه... این روش حمل و نقل مخفی میشه


پ.ن: در فانکشن قالبتون قرار بدید.
 

mojtaba472

تازه وارد
10/7/11
21
2
3
البته این رو یافتم!
تست کنید

PHP:
add_filter( 'woocommerce_package_rates', 'hide_shipping_weight_based', 10, 2 );
function hide_shipping_weight_based( $rates, $package ) {
    // Set weight variable
    $cart_weight = 0;

    // Shipping rate to be excluded
    $shipping_id = 'table_rate_shipping_first-class';

    // Calculate cart's total
    foreach( WC()->cart->cart_contents as $key => $value)
        $cart_weight += $value['data']->weight * $value['quantity'];

    if( $cart_weight <= 30 )
        unset( $rates[ $shipping_id ] );

    return $rates;
}
table_rate_shipping_first-class = ایدی روش حمل و نقل
cart_weight <= 30 اینجا وزن محصول رو نوشته! اگر وزن بیش از 30 (کیلوگرم یا گرم یا هر چی در تنظیمات! باشه... این روش حمل و نقل مخفی میشه


پ.ن: در فانکشن قالبتون قرار بدید.
سلام
وقت بخیر
ممنون میشه لطف کنید بگید چگونه میتونم ای دی روش حمل و نقل بدست بیارم؟

تشکر