WC_REST_Order_Refunds_Controller::get_formatted_item_dataprotectedWC 9.9.0

Get formatted item data. Invokes parents and then adds the proper Cost of Goods Sold information.

Method of the class: WC_REST_Order_Refunds_Controller{}

No Hooks.

Returns

Array.

Usage

// protected - for code of main (parent) or child class
$result = $this->get_formatted_item_data( $data_object );
$data_object(WC_Data) (required)
WC_Data instance.

Changelog

Since 9.9.0 Introduced.

WC_REST_Order_Refunds_Controller::get_formatted_item_data() code WC 10.3.6

protected function get_formatted_item_data( $data_object ) {
	$data = parent::get_formatted_item_data( $data_object );
	if ( ! $this->cogs_is_enabled() ) {
		return $data;
	}

	if ( $data_object instanceof WC_Abstract_Order && $data_object->has_cogs() ) {
		$data['cost_of_goods_sold'] = array(
			'value' => $data_object->get_cogs_total_value(),
		);

		foreach ( $data['line_items'] as $key => $line_item ) {
			$cogs_value = $line_item['cogs_value'] ?? null;
			if ( ! is_null( $cogs_value ) ) {
				$data['line_items'][ $key ]['cost_of_goods_sold'] = array(
					'value' => $cogs_value,
				);
				unset( $data['line_items'][ $key ]['cogs_value'] );
			}
		}
	}
	return $data;
}