Связаться
+79263772075
info@el-komp.ru

Blog

Только конкретны метод оплаты, если любого из товаров в корзине более 2

Добавляем в functions.php вашей темы


add_filter('woocommerce_available_payment_gateways', 'limit_cod_payment_method');

function limit_cod_payment_method($available_gateways) {
// Проверяем, есть ли что-то в корзине
if (!is_object(WC()->cart) || WC()->cart->is_empty()) {
return $available_gateways;
}

// Получаем ID метода оплаты "cod"
$cod_gateway_id = 'cod';

// Флаг, указывающий, найдено ли хотя бы одно количество товара больше или равное 2
$found_required_quantity = false;

foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
// Проверяем, есть ли у товара количество больше или равное 2
if ($cart_item['quantity'] >= 2) {
$found_required_quantity = true;
break;
}
}

// Если найдено хотя бы одно количество товара больше или равное 2, оставляем только метод оплаты "cod"
if ($found_required_quantity && isset($available_gateways[$cod_gateway_id])) {
$available_gateways = array($cod_gateway_id => $available_gateways[$cod_gateway_id]);
}

return $available_gateways;
}

Код метода оплаты можно посмотреть тут, смотрим после =

Leave a comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Top Яндекс.Метрика