• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Мин сумма заказа!

Alexkld

Новичок
PHP:

add_action( 'woocommerce_check_cart_items', 'spyr_set_min_total' );
function spyr_set_min_total() {
if( is_cart() || is_checkout() ) {
global $woocommerce;

// минимальная сумма
$minimum_cart_total = 500;

// сумма из корзины
$total = WC()->cart->subtotal;

// Сообщение об ошибке при меньшей сумме в корзине, чем лимит
if( $total <= $minimum_cart_total ) {
// Display our error message
$not_enough_summa = $minimum_cart_total - $total;
wc_add_notice( sprintf( 'Минимальная сумма заказа: %s'
.'<br>Для оформления заказа не хватает: %s',
wc_price($minimum_cart_total),
wc_price($not_enough_summa)
),
'error' );
}
}
}



Всем добрый день. Использовал код выше. Подскажите пожалуйста, как изменить текст, который появляется, когда в корзине не 500 р? Где он меняется? Сейчас там такой появляется - Возникли проблемы с товарами в вашей корзине. Пожалуйста, вернитесь на страницу корзины и решите эти проблемы перед оформлением заказа.

А когда возвращаюсь в корзину, почему то отображается несколько раз один и тот же текст уведомления о заказе до 500 рублей. А после второго обновления страницы надпись одна. Как можно ее изначально на одну настроить? Как понимаю это где то в woocommerce error или notice делается. Но как именно?
 

Вложения

  • корзина.png
    корзина.png
    25.4 KB · Просмотры: 5

marr

Специалист
Местный
Добрый день.
Попробуйте такой вариант:

Код:
add_action( 'woocommerce_checkout_process', 'bbloomer_wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart', 'bbloomer_wc_minimum_order_amount' );

function bbloomer_wc_minimum_order_amount() {

    $minimum = 500; // change this to your minimum order amount

    if ( WC()->cart->subtotal < $minimum ) {

        if( is_cart() ) {

            wc_print_notice(
                sprintf( 'Минимальная стоимость заказа в нашем магазине - %s Сумма вашего заказа %s, добавьте еще товары к вашей покупке.' , wc_price( $minimum ), wc_price( WC()->cart->subtotal ) ), 'error'
            );

        } else {

            wc_add_notice(
                sprintf( 'Минимальная стоимость заказа в нашем магазине - %s Сумма вашего заказа %s, добавьте еще товары к вашей покупке.' , wc_price( $minimum ), wc_price( WC()->cart->subtotal ) ), 'error'
            );

        }
    }

}
 

Alexkld

Новичок
Добрый день.
Попробуйте такой вариант:

Код:
add_action( 'woocommerce_checkout_process', 'bbloomer_wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart', 'bbloomer_wc_minimum_order_amount' );

function bbloomer_wc_minimum_order_amount() {

    $minimum = 500; // change this to your minimum order amount

    if ( WC()->cart->subtotal < $minimum ) {

        if( is_cart() ) {

            wc_print_notice(
                sprintf( 'Минимальная стоимость заказа в нашем магазине - %s Сумма вашего заказа %s, добавьте еще товары к вашей покупке.' , wc_price( $minimum ), wc_price( WC()->cart->subtotal ) ), 'error'
            );

        } else {

            wc_add_notice(
                sprintf( 'Минимальная стоимость заказа в нашем магазине - %s Сумма вашего заказа %s, добавьте еще товары к вашей покупке.' , wc_price( $minimum ), wc_price( WC()->cart->subtotal ) ), 'error'
            );

        }
    }

}

Добавил этот код, теперь оформляется без мин суммы заказа вообще)
 

Moonlight31

Опытный
Код:
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );
function wc_minimum_order_amount() {
// Минимальная сумма заказа в Woocommerce
$minimum = 1000;

if ( WC()->cart->total < $minimum ) {

if( is_cart() ) {

wc_print_notice(
sprintf( 'Минимальная сумма заказа для доставки — %s.' ,
woocommerce_price( $minimum ),
woocommerce_price( WC()->cart->total )
), 'error'
);

} else {

wc_add_notice(
sprintf( 'Минимальная сумма заказа для доставки — %s.' ,
woocommerce_price( $minimum ),
woocommerce_price( WC()->cart->total )
), 'error'
);

}
}

}
На данный момент этот прекрасно работает на сайте
1561654486971.png
 

Alexkld

Новичок
Код:
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );
function wc_minimum_order_amount() {
// Минимальная сумма заказа в Woocommerce
$minimum = 1000;

if ( WC()->cart->total < $minimum ) {

if( is_cart() ) {

wc_print_notice(
sprintf( 'Минимальная сумма заказа для доставки — %s.' ,
woocommerce_price( $minimum ),
woocommerce_price( WC()->cart->total )
), 'error'
);

} else {

wc_add_notice(
sprintf( 'Минимальная сумма заказа для доставки — %s.' ,
woocommerce_price( $minimum ),
woocommerce_price( WC()->cart->total )
), 'error'
);

}
}

}
На данный момент этот прекрасно работает на сайте
Посмотреть вложение 4811

А вот ваш скопипастил, теперь все работает. Без лишнего текста, просто не дает заказ оформить без мин суммы заказа). Спасибо
 
Сверху Снизу