Unser WooCommerce-Plugin schreibt die Trackingnummer in das Order-Feld tracking_number. Dabei kann es sein, dass ein Auftrag aus mehreren Paketen besteht und in dem Feld die Trackingnummern mit Komma getrennt erscheinen.

Zusätzlich wird in das Feld carrier eingetragen, mit welchem Versanddienstleister (z.B. DHL, DPD o.ä.) das Paket versendet worden ist.

Über das Template customer-completed-order.php kann die Vorlage beim E-Mail-Versand eingestellt werden. Über das Admin-Menü WooCommerce->Einstellungen->E-Mails kann die Vorlagendatei in das Template und darüber anschließend angepasst werden.

Die Trackingnummern könnten in der Datei z.B. oberhalb des Footers angezeigt werden, also direkt oberhalb von:

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );

Der folgende Code-Ausschnitt ließt die Trackingnummern aus und gibt sie als DHL-Link in der E-Mail wieder. Für den Produktionseinsatz müsste man an dieser Stelle zusätzlich noch den Carrier auslesen und je nach Carrier den Link entsprechend zusammenstellen.

$post_id = $order->ID;
echo "tracking number for $post_id ";
$tn = get_post_meta($post_id, "tracking_number");
if ($tn) {
 $numbers = explode(',', $tn[0]);
 if ($numbers) {
 foreach ($numbers as $code) {
 echo '<a href="https://nolp.dhl.de/nextt-online-public/de/search?piececode="'.$code.'>'.$code.'</a><br/>';
 }
 }
}

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );