Добавляем товар в подарок при покупке определённого товара

В этом уроке я покажу вам, как сделать так, чтобы при добавлении в корзину товара с определённым ID, автоматически добавлялся в неё и бесплатный товар-подарок.

Также непосредственно про корзину на моём сайте есть отдельный видеоурок, вот ссылка.

В качестве товара-подарка можете взять самый обычный товар, главное поставьте ему нулевую цену и скройте со страниц каталога.

товар в подарок при покупке определённого товара WooCommerce
Автомтически добавляем подарок (Вязаная шапочка) в корзину, если покупатель добавил в корзину определённый товар (Футболка с треугольным вырезом).

Ниже код, который вы можете вставить в functions.php текущей темы, не забудьте только подставить ID актуальных товаров на строках 15 и 16.

add_action( 'template_redirect', 'truemisha_auto_gift', 25 );
 
function truemisha_auto_gift() {
 
	// ничего не делаем в админке
	if ( is_admin() ) {
		return;
	}
 
	// ничего не делаем если корзина пуста
	if ( WC()->cart->is_empty() ) {
		return;
	}
 
	$product_id = 35; // ID товара, при покупке которого дарим подарок
	$gift_id = 25; // ID товара-подарка
 
	// вынес наличие подарка в корзине в отдельную переменную
	$is_gift_in_cart = WC()->cart->find_product_in_cart( WC()->cart->generate_cart_id( $gift_id ) );
 
	// если целевой товар не в корзине
	if ( ! WC()->cart->find_product_in_cart( WC()->cart->generate_cart_id( $product_id ) ) ) {
 
		// если подарок присутствует в корзине, то удаляем его из неё
		if ( $is_gift_in_cart ) {
			WC()->cart->remove_cart_item( $gift_id );
		}
 
	} else { // если целевой товар в корзине
 
		// на всякий проверяем, если подарок не в корзине, то добавляем
		if ( ! $is_gift_in_cart ) {
			WC()->cart->add_to_cart( $gift_id );
		}
 
	}
}

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Комментарии — 4

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.