/** * The WC_Product class assumes that a product is 'simple' if no other product type matches * So, if a product's type is "bundle", and it configured as a fixed-price bundle, get_price_html will return an empty string * Here we fix that shortcoming **/ function woo_bundles_empty_price($price, $product) { if ($product->product_type == 'bundle' && get_post_meta($product->id, '_per_product_pricing_active', true) == 'yes') { $bundle = new WC_Product_Bundle($product->id); return $bundle->get_price_html(); } elseif ($product->product_type == 'bundle' && get_post_meta($product->id, '_per_product_pricing_active', true) == 'no') { return __('Price not set', 'woo-bundles'); } return $price; }