/** * Change frontent cart item price with Subscription price (cosmetic change) * * @access public * @param float $price_now * @param array $cart_item * @param string $cart_item_key * @return string */ public function change_cart_item_price_html($price, $cart_item, $cart_item_key) { $id = !empty($cart_item['variation_id']) ? $cart_item['variation_id'] : $cart_item['product_id']; // Check if given item is subscription if (Subscriptio_Subscription_Product::is_subscription($id)) { // Is subtotal? $is_subtotal = current_filter() == 'woocommerce_cart_item_subtotal' ? true : false; // Format checkout price html and return return Subscriptio_Subscription_Product::get_formatted_subscription_price($id, $is_subtotal, $cart_item['quantity'], $cart_item['data']->price); } return $price; }
/** * Change frontend product price with Subscription price * * @access public * @param float $price * @param object $product * @return string */ public function change_product_price($price, $product) { // Product is subscription? if (!is_admin() && self::is_subscription($product->id)) { // Variable or grouped product? Then we need to check if all prices are equal or choose cheapest variation and display "From: ..." if (in_array($product->product_type, array('variable', 'grouped'))) { list($id, $equal) = self::get_cheapest_child_price($product); return Subscriptio_Subscription_Product::get_formatted_subscription_price($id, false, 1, null, true, $equal); } // Simple product or variation $id = $product->product_type == 'variation' ? $product->variation_id : $product->id; // Double check that particular variation is a subscription if ($product->product_type != 'variation' || self::is_subscription($id)) { return Subscriptio_Subscription_Product::get_formatted_subscription_price($id, false); } } return $price; }