Добавить local_pickup flat_rate в один код, но с разными значениями

Сделал расчет процентов стоимости доставки от суммы корзины без привязки к плагину, добавил local_pickup (самовывоз) и flat_rate (Единая ставка) Считает доставку в двух методах, но показывает естественно одинаковое значение.

А как сделать что-бы для local_pickup считает проценты, а flat_rate проценты + 300(адресная доставка)? Такое возможно в данном случае?

add_filter( 'woocommerce_package_rates', 'custom_package_rates', 10, 2 );
function custom_package_rates( $rates, $packages ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
    $cart_total =  WC()->cart->cart_contents_total;
    $cart_1_percent = $cart_total * 0.01;
    $flat_rate_value = 200; 

    foreach($rates as $rate_key => $rate_values ) {
        $method_id = $rate_values->method_id;
        $rate_id = $rate_values->id;

        if( $method_id == 'local_pickup' || 'flat_rate' ){

            if( $cart_total < 2000 )
                $cart_10_percent = 0; 
            elseif( $cart_total > 2001 && $cart_total <= 50000 )
                $flat_rate_value = $cart_total * 0.1; 
            elseif( $cart_total > 50001 && $cart_total <= 200000 )
                $flat_rate_value = $cart_total * 0.09; 
            elseif( $cart_total > 200001 && $cart_total <= 500000 )
                $flat_rate_value = $cart_total * 0.08; 

            $rate_cost = $flat_rate_value > $cart_1_percent ? $flat_rate_value - $cart_1_percent : 0;

$rates[$rate_id]->cost = (int)( $rates[$rate_id]->cost * $rate_cost);
    
        }
    }
    return $rates;
} 

Ответы (0 шт):