@Vaprubnyak
Ученик ученика

Как изменить способы оплаты хуком в корзине woocommerce?

Подскажите пожалуйста в чем ошибка
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );
add_filter( 'woocommerce_available_payment_gateways' , 'unsetting_payment_gateway', 10, 1);

function wc_minimum_order_amount() {
	$limit_reached = false;
	// Задать переменную, чтобы указать минимальное значение заказа
	$minimum = 1000;	
		if ( WC()->cart->total < $minimum ) {
			function unsetting_payment_gateway( $available_gateways ) {
				// Здесь установить способ оплаты
				unset($available_gateways['cod']);
			}
		}
    return $available_gateways;
}

Требуется если сумма заказа менее 1000, сделать способ оплаты "Оплата при доставке" не активным или не показывать
Заранее спасибо
  • Вопрос задан
  • 758 просмотров
Решения вопроса 1
@Vaprubnyak Автор вопроса
Ученик ученика
Проблема решена спасибо OKyJIucT
Рабочий код:
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );

$limit_reached = false;

function wc_minimum_order_amount() 
{
	// Задать переменную, чтобы указать минимальное значение заказа
	$minimum = 1000;
	
	if ( WC()->cart->total < $minimum ) {
		$limit_reached = true;
		
	}
	return $limit_reached;
}

function unsetting_payment_gateways( $available_gateways ) 
{	
	$limit_reached = wc_minimum_order_amount();
	if ($limit_reached) {			
			// Здесь установить способ оплаты
			unset($available_gateways['cod']);
	}
	
	return $available_gateways;
}
add_action('woocommerce_available_payment_gateways', 'unsetting_payment_gateways');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы