WooCommerce: Добавить или удалить товар из корзины программно
WooCommerce: Добавить или удалить товар из корзины программно
12 декабря 2015 | Веб-разработка, Статьи

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 ); } } }