WooCommerce: Добавить или удалить товар из корзины программно

woocommerce-logo
1 звезда2 звезды3 звезды4 звезды5 звёзд

WooCommerce: Добавление товара в корзину программно, Удаление товара из козины программно.
Добавить товар автоматически в корзину. Добавление товара в корзину WooCommerce хук.
Добавление вспомогательного сопутствующего товара в корзину автоматически при добалении основного товара.
WooCommerce, WordPress.

Функция для добавления товара в корзину программно:

function add_product_to_cart2($product_id) {
	if ( ! is_admin() ) {
		$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 );
		}
	}
}

Функция для удаление товара из корзины программно:

function remove_product_pp($product_id) {
		$cart = WC()->instance()->cart;
		$cart_id = $cart->generate_cart_id($product_id);
		$cart_item_id = $cart->find_product_in_cart($cart_id);
		if($cart_item_id){
		   $cart->set_quantity($cart_item_id,0);
		}
}

Функция для добавления товара в корзину автоматически, при добавлении первого любого товара — товар с указанным ID также будет добален в корзину:

add_action( 'woocommerce_add_to_cart', 'add_product_to_cart' );
function add_product_to_cart2($product_id) {
	if ( ! is_admin() ) {
		$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 );
		}
	}
}

Метки: , ,

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *