Минимальная сумма заказа WooCommerce


Что делает этот код в целом?

  1. Отображает информацию о минимальной сумме заказа на странице каждого товара.
  2. Проверяет, достаточно ли средств в корзине на страницах корзины и оформления заказа.
  3. Если минимальная сумма не достигнута, отключает кнопку оформления заказа и предлагает продолжить покупки.
////----------------------
////----------------------ДОБАВЛЯЮ ТЕКСТ В КАРТОЧКЕ ТОВАРА------------------------------
////----------------------

add_action( 'woocommerce_single_product_summary', 'action_function_name_2498' );
function action_function_name_2498(){
    // Виводимо текст про мінімальну суму замовлення на сторінці товару
    echo "<p style='font-weight: bold;'>Мінімальна сума замовлення на сайті <span style='color:red;'>300 грн.</span></p>";
}

add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );

function wc_minimum_order_amount() {
    $minimum = 300; // Мінімальна ціна замовлення
    // Перевіряємо, чи сума в кошику менша за мінімальну
    if ( WC()->cart->subtotal < $minimum ) {

        if( is_cart() ) {
            // Отримуємо мінімальну і поточну суму замовлення (без доставки)
            $s1 = wc_price( $minimum );
            $s2 = wc_price( WC()->cart->subtotal); 
            // Виводимо повідомлення про мінімальну суму на сторінці кошика
            $message = "Мінімальна сума замовлення на сайті $s1";
            wc_print_notice( $message, 'error' );
        } else {
            // Отримуємо мінімальну і поточну суму замовлення (без доставки)
            $s1 = wc_price( $minimum );
            $s2 = wc_price( WC()->cart->subtotal); 
            // Виводимо повідомлення про мінімальну суму на сторінці оформлення
            $message = "Мінімальна сума замовлення на сайті $s1";
            wc_add_notice( $message, 'error' );
        }
    }
}

//-------------------------------------------
// Як вимкнути кнопку «Оформити замовлення», якщо мінімальна сума не досягнута
//-----------------------------------------
function disable_checkout_button() {
    // Встановлюємо мінімальну суму замовлення
    $minimum = 300;
    // Отримуємо загальну суму товарів у кошику
    $total = WC()->cart->cart_contents_total;
    // Якщо сума менша за мінімум, вимикаємо кнопку оформлення замовлення
    if( $total < $minimum ){
        // Видаляємо стандартну кнопку "Оформити замовлення"
        remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
        // Додаємо кнопку для продовження покупок та повідомлення про мінімальну суму
        echo '<a href=" /shop/" style="display: inline-block;" class="checkout-button button alt wc-forward ">Продовжити покупку</a> <a style="pointer-events: none !important; background: #dfe1f0; border-color: #dfe1f0; color: rgba(51,51,51,.5); cursor: no-drop; display: inline-block;" href="#" class="checkout-button button alt wc-forward">Перейти до оформлення</a><p style="font-weight: bold;">Мінімальна сума замовлення на сайті <span style="color:red;">'.$minimum.'</span> грн. </p>';
    }
}

// Додаємо функцію до хуку на оформлення замовлення
add_action( 'woocommerce_proceed_to_checkout', 'disable_checkout_button', 1 );

Добавить комментарий

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