Automattic\WooCommerce\Internal\Fulfillments\Providers

DHLShippingProvider::get_tracking_urlpublicWC 1.0

Generates the appropriate tracking URL based on DHL service type.

Method of the class: DHLShippingProvider{}

No Hooks.

Returns

String. The complete tracking URL.

Usage

$DHLShippingProvider = new DHLShippingProvider();
$DHLShippingProvider->get_tracking_url( $tracking_number ): string;
$tracking_number(string) (required)
The tracking number to generate URL for.

DHLShippingProvider::get_tracking_url() code WC 10.3.3

public function get_tracking_url( string $tracking_number ): string {
	$tracking_number = strtoupper( $tracking_number ); // Uppercase for consistency.

	// DHL Global Mail and eCommerce prefixes.
	if ( preg_match( '/^(GM|LX|RX|CN|SG|MY|HK|AU|TH|420)/', $tracking_number ) ) {
		return 'https://webtrack.dhlglobalmail.com/?trackingnumber=' . rawurlencode( $tracking_number );
	}

	// DHL Paket Germany (3S...).
	if ( preg_match( '/^3S[A-Z0-9]{8,12}$/', $tracking_number ) ) {
		return 'https://www.dhl.de/en/privatkunden/dhl-sendungsverfolgung.html?piececode=' . rawurlencode( $tracking_number );
	}

	// Standard DHL Express tracking.
	return 'https://www.dhl.com/en/express/tracking.html?AWB=' . rawurlencode( $tracking_number );
}