WC_Order::get_cogs_refunded_for_itempublicWC 1.0

Get the "refunded cost" (the combined Cost of Goods Sold of the refunded items) for a line item.

Method of the class: WC_Order{}

No Hooks.

Returns

float.

Usage

$WC_Order = new WC_Order();
$WC_Order->get_cogs_refunded_for_item( $item_id, $item_type );
$item_id(int) (required)
ID of the item we're checking.
$item_type(string)
Type of the item we're checking, if not a line_item.
Default: 'line_item'

WC_Order::get_cogs_refunded_for_item() code WC 10.5.0

public function get_cogs_refunded_for_item( $item_id, $item_type = 'line_item' ) {
	if ( ! $this->cogs_is_enabled() || ! $this->has_cogs() ) {
		return 0;
	}

	$cogs_value = 0;
	foreach ( $this->get_refunds() as $refund ) {
		foreach ( $refund->get_items( $item_type ) as $refunded_item ) {
			if ( absint( $refunded_item->get_meta( '_refunded_item_id' ) ) === $item_id ) {
				$cogs_value += $refunded_item->has_cogs() ? $refunded_item->get_cogs_value() : 0;
			}
		}
	}
	return $cogs_value;
}