Чтобы скрыть определенный способ доставки на основе общей суммы корзины, вы можете использовать приведенный ниже фрагмент кода.Вам необходимо обновить название метода доставки в коде.
Отключить метод доставки в соответствии с общей суммой корзины
Добавить этот фрагмент в файл functions.php
вашей темы или пользовательский плагинfile.
add_filter( 'woocommerce_package_rates', 'shipping_based_on_price', 10, 2 );
function shipping_based_on_price( $rates, $package ) {
$total = WC()->cart->cart_contents_total;
//echo $total;
if ( $total > 100 ) {
unset( $rates['local_delivery'] ); // Unset your shipping method
}
return $rates;
}
Отключить платежный шлюз для определенного способа доставки
Использовать приведенный ниже фрагмент кода.Обновите код в соответствии с вашим методом оплаты и способом доставки.
add_filter( 'woocommerce_available_payment_gateways', 'x34fg_gateway_disable_shipping' );
function x34fg_gateway_disable_shipping( $available_gateways ) {
global $woocommerce;
if ( !is_admin() ) {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if ( isset( $available_gateways['cod'] ) && 0 === strpos( $chosen_shipping, 'local_pickup' ) ) {
unset( $available_gateways['cod'] );
}
}
return $available_gateways;
}