Automattic\WooCommerce\Admin\Features\Fulfillments

FulfillmentsRenderer::render_shipment_provider_column_row_dataprivateWC 1.0

Render the shipment provider 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_provider_column_row_data( $order, $fulfillments );
$order(WC_Order) (required)
The order object.
$fulfillments(array) (required)
The fulfillments.

FulfillmentsRenderer::render_shipment_provider_column_row_data() code WC 10.7.0

private function render_shipment_provider_column_row_data( WC_Order $order, array $fulfillments ) {
	$providers = array();
	foreach ( $fulfillments as $fulfillment ) {
		$provider = $fulfillment->get_shipment_provider();
		if ( ! empty( $provider ) ) {
			$provider_name     = $fulfillment->get_meta( '_provider_name' );
			$key               = 'other' === $provider && ! empty( $provider_name )
				? $provider . '::' . $provider_name
				: $provider;
			$providers[ $key ] = $fulfillment;
		}
	}

	if ( count( $providers ) > 1 ) {
		echo '<span>' . esc_html__( 'Multiple providers', 'woocommerce' ) . '</span>';
	} elseif ( 1 === count( $providers ) ) {
		$provider_fulfillment   = reset( $providers );
		$provider_slug          = $provider_fulfillment->get_shipment_provider();
		$known_providers        = FulfillmentUtils::get_shipping_providers();
		$provider_name_meta     = $provider_fulfillment->get_meta( '_provider_name' );
		$provider_display_label = isset( $known_providers[ $provider_slug ] )
			? $known_providers[ $provider_slug ]->get_name()
			: ( ! empty( $provider_name_meta ) ? $provider_name_meta : $provider_slug );
		echo '<span>' . esc_html( $provider_display_label ) . '</span>';
	} else {
		echo '<span>--</span>';
	}
}