Главная » Для новичков » Добавить товар в корзину по умолчанию с возможностью его удалить

Добавить товар в корзину по умолчанию с возможностью его удалить

2479 просмотров

Долго искал в сети интернет ответ по данному вопросу. Проблема была в том ,что товар который добавлен в корзину автоматически не удалялся.

Дело было в том что все решения предлагали привязку к хуку init, а можно было просто привязаться к хуку "woocommerce_add_to_cart", которая срабатывает, когда товар добавлен в корзину.

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

Вот доработанный код, который необходимо разместить в functions.php вашей темы.

/*
* goes in theme functions.php or a custom plugin
**/
// add item to cart on visit
add_action( 'woocommerce_add_to_cart', 'add_product_to_cart' );
function add_product_to_cart() {
if ( ! is_admin() ) {
$product_id = 3356; // id товара который необходимо добавить в корзину по умолчанию
$found = false;
//check if product already in cart
if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->id == $product_id )
$found = true;
}
// if product not found, add it
if ( ! $found )
WC()->cart->add_to_cart( $product_id );
} else {
// if no products in cart, add it
WC()->cart->add_to_cart( $product_id );
}
}
}

Читайте также:

Настройка deploy

Настройка deploy 1) Нужно написать контроллер и роут с деплоем 2) Сделать репозиторий и туда выгрузить стабильную версию 3) По ssh подключиться к серверу и сделать git clone 4) Деплой готов. ---- ps для больших ...

Работа фильтра laravel

Структура js В глобальную переменную записываем данные урл var globalParams = generateUrlArray(); Из строки поисковой мы берем все параметры и сохраняем в массив var url = ...

Flexbox в CSS что это такое и как с ним работать

Flexbox - помогает сделать вашу верстку простой, логичной и понятно. Там где приходится стандартными методами делать костыльные решения, flex решает задачу стандартными свойствами. Давайте рассмотрим пример верстки на ...
Показать еще