WC_Discounts::get_items_to_apply_coupon()protectedWC 3.2.0

Get items which the coupon should be applied to.

Method of the class: WC_Discounts{}

No Hooks.

Return

Array.

Usage

// protected - for code of main (parent) or child class
$result = $this->get_items_to_apply_coupon( $coupon );
$coupon(object) (required)
Coupon object.

Changelog

Since 3.2.0 Introduced.

WC_Discounts::get_items_to_apply_coupon() code WC 8.6.1

protected function get_items_to_apply_coupon( $coupon ) {
	$items_to_apply = array();

	foreach ( $this->get_items_to_validate() as $item ) {
		$item_to_apply = clone $item; // Clone the item so changes to this item do not affect the originals.

		if ( 0 === $this->get_discounted_price_in_cents( $item_to_apply ) || 0 >= $item_to_apply->quantity ) {
			continue;
		}

		if ( ! $coupon->is_valid_for_product( $item_to_apply->product, $item_to_apply->object ) && ! $coupon->is_valid_for_cart() ) {
			continue;
		}

		$items_to_apply[] = $item_to_apply;
	}
	return $items_to_apply;
}