Как найти решение, чтобы минимальная сумма заказа автоматически устанавливалась в соответствии с выбранным способом доставки?
Минимальная сумма заказа для каждого способа доставки в Woocommerce может быть установлена с помощью плагина или кода в функциях темы.
1. С использованием плагина:
- Установите и активируйте плагин "WooCommerce Minimum Order Amount" (https://wordpress.org/plugins/woocommerce-minimum-order-amount/).
- Перейдите в раздел "WooCommerce" > "Настройки" > "Доставка" и выберите нужный способ доставки.
- В настройках способа доставки найдите опцию "Minimum Order Amount" и установите нужное значение.
2. С использованием кода в функциях темы:
- Откройте файл functions.php вашей активной темы.
- Добавьте следующий код:
```php
function set_minimum_order_amount() {
// Получаем текущий способ доставки
$chosen_method = WC()->session->get('chosen_shipping_methods');
$chosen_method = explode(':', reset($chosen_method));
// Устанавливаем минимальную сумму заказа в зависимости от выбранного способа доставки
if (in_array('flat_rate', $chosen_method)) {
// Для способа доставки "Фиксированная ставка"
$minimum_amount = 100; // Установите свою минимальную сумму заказа
} elseif (in_array('free_shipping', $chosen_method)) {
// Для способа доставки "Бесплатная доставка"
$minimum_amount = 0;
} else {
$minimum_amount = 0;
}
// Устанавливаем минимальную сумму заказа
if (WC()->cart->subtotal < $minimum_amount) {
wc_add_notice(sprintf('Минимальная сумма заказа для данного способа доставки составляет %s.', wc_price($minimum_amount)), 'error');
}
}
add_action('woocommerce_checkout_process', 'set_minimum_order_amount');
```
- Измените значения `$minimum_amount` для каждого способа доставки на ваши собственные минимальные суммы заказа.
Теперь минимальная сумма заказа будет автоматически проверяться и отображаться при оформлении заказа в соответствии с выбранным способом доставки.
Вы можете отключить некоторые кнопки доставки, если общая сумма товаров в корзине меньше 1300. Для этого вам нужно добавить следующий код в файл функций вашей WordPress-темы:
add_action('wp_footer', 'woo_disable_specific_shipping_input');
function woo_disable_specific_shipping_input() {
if ( WC()->cart->total < 1300 ) {
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('input[name^="shipping_method"][value="flat_rate:6"], input[name^="shipping_method"][value="flat_rate:7"], input[name^="shipping_method"][value="flat_rate:8"], input[name^="shipping_method"][value="flat_rate:9"], input[name^="shipping_method"][value="flat_rate:10"], input[name^="shipping_method"][value="flat_rate:11"], input[name^="shipping_method"][value="flat_rate:12"], input[name^="shipping_method"][value="flat_rate:13"], input[name^="shipping_method"][value="flat_rate:14"]').prop('disabled', true);
});
</script>
<?php
}
}
Этот код будет искать элементы input с определенными значениями атрибута value и отключать их, если общая сумма товаров в корзине меньше 1300. Замените значения "flat_rate:X" на фактические значения ваших кнопок доставки.