Helpers

We moved these functions to static class  WDP_Functions  (but legacy class WDP_Frontend can be used too).

adp_functions()->getGiftedCartProducts() just returns array of free items (added by our plugin)  as [product_id_1=>qty_1, product_id_2=>qty_2,..]

adp_functions()->getActiveRulesForProduct($productId, $qty = 1, $useEmptyCart = false) adds  passed product to existing cart (or empty cart)  and returns array of applied rules.

adp_functions()->getDiscountedProductPrice($theProd, $qty, $useEmptyCart = true)  adds  passed product to existing cart (or empty cart)  and returns new price for this product.  We return array [min_price,max_price] for variable products.

adp_functions()->getDiscountedProductsForCart($listOfProducts, $plain = false) adds passed products to empty  cart(make cart)  and  returns products  assigned to active rules  (set in section “Filter by Product”).

adp_functions()->calculateProduct($theProd, $qty, $useEmptyCart = true) allows you to calculate an object \ADP\BaseVersion\Includes\Product\ProcessedProductSimple or an object \ADP\BaseVersion\Includes\Product\ProcessedVariableProduct. And in the pro version it calculates an object \ADP\ProVersion\Includes\Product\ProcessedVariableProduct.

It sounds a bit confusing, but you can use this way to get list of products which should be added to pre-build cart to  get discounts.