Automattic\WooCommerce\Admin\Features\Fulfillments

FulfillmentsRenderer::render_shipment_tracking_column_row_dataprivateWC 1.0

Render the shipment tracking column row data.

Method of the class: FulfillmentsRenderer{}

No Hooks.

Returns

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->render_shipment_tracking_column_row_data( $order, $fulfillments );
$order(WC_Order) (required)
The order object.
$fulfillments(array) (required)
The fulfillments.

FulfillmentsRenderer::render_shipment_tracking_column_row_data() code WC 10.7.0

private function render_shipment_tracking_column_row_data( WC_Order $order, array $fulfillments ) {
	$tracking = array();
	foreach ( $fulfillments as $fulfillment ) {
		$number = $fulfillment->get_tracking_number();
		if ( ! empty( $number ) ) {
			$tracking[] = array(
				'number' => $number,
				'url'    => $fulfillment->get_tracking_url(),
			);
		}
	}

	if ( count( $tracking ) > 1 ) {
		echo '<span>' . esc_html__( 'Multiple trackings', 'woocommerce' ) . '</span>';
	} elseif ( 1 === count( $tracking ) ) {
		$entry = $tracking[0];
		if ( ! empty( $entry['url'] ) ) {
			echo '<a href="' . esc_url( $entry['url'] ) . '" target="_blank" rel="noopener noreferrer" style="text-decoration: underline; color: #2f2f2f;">' . esc_html( $entry['number'] ) . '</a>';
		} else {
			echo '<span>' . esc_html( $entry['number'] ) . '</span>';
		}
	} else {
		echo '<span>--</span>';
	}
}