Поддержка WooCommerce Как скрыть шлюз в woocommerce если сумма заказа меньше определенной?

  • Решено vaprub

    (@vaprub)


    Как сделать шлюз оплаты недоступным в woocommerce, если сумма заказа менее определенной суммы, в идеале что бы пункт на странице /checkout показывался, но его нельзя было выбрать и выходило окно что нужно добрать по сумме, возможно есть какие нибудь плагины?
    Пробовал этот код, не работает, может подскажет кто как допилить?

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

    Заранее спасибо

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 1 ответа (всего 1)
  • Проблема решена, вот рабочий код:

    
    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');
    
Просмотр 1 ответа (всего 1)
  • Тема «Как скрыть шлюз в woocommerce если сумма заказа меньше определенной?» закрыта для новых ответов.