Automattic\WooCommerce\Internal\RestApi\Routes\V4\Orders\Schema

AbstractLineItemSchema::prepare_taxes │ protected │ WC 1.0

Prepare the taxes for the order item.

Метод класса: AbstractLineItemSchema{}

Хуков нет.

Возвращает

array.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->prepare_taxes( $order_item, $request );
$order_item(WC_Order_Item_Product|WC_Order_Item_Fee) (обязательный)
Order item instance.
$request(WP_REST_Request) (обязательный)
Request object.

Код AbstractLineItemSchema::prepare_taxes() WC 11.2.2

protected function prepare_taxes( $order_item, WP_REST_Request $request ) {
	$taxes  = $order_item->get_taxes();
	$dp     = is_null( $request['num_decimals'] ) ? wc_get_price_decimals() : absint( $request['num_decimals'] );
	$return = array();

	if ( $taxes && ! empty( $taxes['total'] ) ) {
		foreach ( $taxes['total'] as $tax_rate_id => $tax ) {
			$return[] = array(
				'id'       => $tax_rate_id,
				'total'    => wc_format_decimal( $tax, $dp ),
				'subtotal' => wc_format_decimal( $taxes['subtotal'][ $tax_rate_id ] ?? $tax, $dp ),
			);
		}
	}

	return $return;
}