Бот-информер доступности сайта   •   Магазин расширений
136 просм
0 комм
Поделиться:
Лучший платный хостинг!

Месяц в подарок. Помощь с переездом. Быстрая тех. поддержка. Цена от 115р в месяц. Скидки, спеши!

vk.cc/88lMkj

Дробное количество товара в WooCommerce

На данный момент существует большое количество разнообразных интернет-магазинов. Одни продают электронные товары (ключи для игр, книги, фильмы и прочее), другие же реализуют материальную продукцию – стулья, столы, различную технику. Все эти товары продаются поштучно, что вполне логично для такого типа товаров. Но если вы продаете обои, различные сыпучие материалы или, например, чай, то там в распоряжении покупателя должна быть не только сама продукция, но и ее определенная единица. Например, 10 метров, 300 граммов и прочее.

По умолчанию, в CMS WordPress, а именно в ее дополнении WooCommerce нет поддержки дробного количества товаров, и готовых плагинов, решая эту задачу, я также не смог найти, за исключением нескольких, которые во много усложняют процесс реализации.

А зачем, собственно, усложнять, когда можно сделать все как никогда просто? Для реализации этой задачи вам потребуется воспользоваться парой несложных функций. А именно:

function min_decimal($val) {

    return 0.5; // Минимальное значение
	
}

add_filter("woocommerce_quantity_input_min", "min_decimal");

и

function step_decimal($val) {

    return 0.5; // Шаг
	
}

add_filter("woocommerce_quantity_input_step", "step_decimal");

Их вы вставляете в низ файла functions.php, который находится в папке вашей темы.

Первая функция позволяет задать минимальное количества товара (в нашем случае – это 0,5), а вторая – шаг увеличения/уменьшения количества товара. Скрипт работает как в карточке товара, так и в корзине пользователя.

А для того, чтобы удалить стандартную проверку на корректность введенного числа (без отключения дробные числа будут считаться ошибочными), в низ все того файла functions.php вы вставляете:

// Удаление и добавление своего фильтра проверки количества

remove_filter("woocommerce_stock_amount", "intval");
add_filter("woocommerce_stock_amount", "floatval");

По необходимости вид дробного числа (количество знаков после запятой) и его размер вы можете задать сами в первых двух функциях.

0
комментариев
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.