Automattic\WooCommerce\Admin\Features\Fulfillments

FulfillmentOrderNotes::format_itemsprivateWC 1.0

Format fulfillment items as a comma-separated string.

Method of the class: FulfillmentOrderNotes{}

No Hooks.

Returns

String. Formatted items string.

Usage

// private - for code of main (parent) class only
$result = $this->format_items( $fulfillment, $order ): string;
$fulfillment(Fulfillment) (required)
The fulfillment object.
$order(WC_Order) (required)
The order object.

FulfillmentOrderNotes::format_items() code WC 10.7.0

private function format_items( Fulfillment $fulfillment, \WC_Order $order ): string {
	$items       = $fulfillment->get_items();
	$order_items = $order->get_items();
	$parts       = array();

	foreach ( $items as $item ) {
		$item_id = isset( $item['item_id'] ) ? (int) $item['item_id'] : 0;
		$qty     = isset( $item['qty'] ) ? (int) $item['qty'] : 0;
		$name    = '';

		foreach ( $order_items as $order_item ) {
			if ( (int) $order_item->get_id() === $item_id ) {
				$name = $order_item->get_name();
				break;
			}
		}

		if ( empty( $name ) ) {
			$name = sprintf(
				/* translators: %d: item ID */
				__( 'Item #%d', 'woocommerce' ),
				$item_id
			);
		}

		$parts[] = sprintf( '%s x%s', $name, $qty );
	}

	return implode( ', ', $parts );
}