/* * Automatically adding the product to the cart. Forrás: https://www.tychesoftwares.com/how-to-automatically-add-a-product-to-your-woocommerce-cart-in-3-different-scenarios/ */ function aaptc_add_product_to_cart( $item_key, $product_id ) { $product_category_id = 123; // cricket bat category id $product_cats_ids = wc_get_product_term_ids( $product_id, 'product_cat' ); if ( ! is_admin() && in_array( $product_category_id, $product_cats_ids ) ) { $free_product_id = 12989; // Product Id of the free product which will get added to cart $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->get_id() == $free_product_id ) $found = true; } // if product not found, add it if ( ! $found ) WC()->cart->add_to_cart( $free_product_id ); } else { // if no products in cart, add it WC()->cart->add_to_cart( $free_product_id ); } } } add_action( 'woocommerce_add_to_cart', 'aaptc_add_product_to_cart', 10, 2 );