Продовжуємо серію статей, що стосуються роботи WordPress і Woocommerce.
Сьогодні мова піде про налаштування мінімальній сумі замовлення, яку встановлює практично кожен власник інтернет-магазину. Завжди є мінімальне значення для замовлення, нижче якого власнику невигідно продавати товари або послуги. В цьому випадку настройка мінімальної суми просто необхідна і є справжнім порятунком.
Є безліч плагінів, які вирішують це завдання, їх легко можна знайти на просторах інтернету. У нашому випадку ми додамо власний код в файл functions.php активної теми Wordepress. Повісимо призначену для користувача функцію ‘neoagency_minimum_order’, на два хука:
add_action( 'woocommerce_checkout_process', 'neoagency_minimum_order' );
add_action( 'woocommerce_before_cart' , 'neoagency_minimum_order' );
function neoagency_minimum_order() {
$minimum = 500;
if ( WC()->cart->total < $minimum ) {
if( is_cart() ) {
wc_print_notice(
sprintf( 'Минимальный заказ от %s . Ваш текущий заказ %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->total )
), 'error'
);
} else {
wc_add_notice(
sprintf( 'Минимальный заказ от %s . Ваш текущий заказ %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->total ) ), 'error'
);
} } }
Для того щоб поправити даний код під себе, поміняйте значення змінної $ minimum = 500 ;. Тут має перебувати мінімальна кількість написаних вами замовлення.
Замість фрази «Мінімальне замовлення від” ви можете додати свою пропозицію, яке показується в момент, коли сума замовлення менше зазначеної.
За аналогією можна написати функцію, яка буде обмежувати максимальне замовлення, правда така ситуація зустрічається набагато рідше, ніж попередня.
Для обмеження максимального значення замовлення код буде виглядати наступним чином:
add_action ( 'woocommerce_checkout_process', 'neoagency_maximum_order');
add_action ( 'woocommerce_before_cart', 'neoagency_maximum_order');
function neoagency_maximum_order () {
$ Maximum = 2500;
if (WC () -> cart-> total> $ maximum) {
if (is_cart ()) {
wc_print_notice (
sprintf ( 'Максимальний замовлення до% s. Ваш поточний замовлення% s.',
wc_price ($ maximum),
wc_price (WC () -> cart-> total)
), 'Error'
);
} Else {
wc_add_notice (
sprintf ( 'Максимальний замовлення від% s. Ваш поточний замовлення% s.',
wc_price ($ maximum),
wc_price (WC () -> cart-> total)
), 'Error'
);
}}}
Міняємо значення змінної $ maximum = 2500; на своє і насолоджуємося результатом.
Сподіваємося, що дане рішення виявиться корисним для вас. Якщо з якої-небудь причини у вас не виходить реалізувати подібний функціонал і вам знадобиться допомога фахівця, залишайте заявку на нашому сайті.
Comments are closed.