1. Startseite
  2. Wissensdatenbank
  3. WooCommerce Wholesale Prices Premium
  4. Backend
  5. So legen Sie einen anderen Betreff für neue Bestell-E-Mails für Großhandelsbestellungen fest

So legen Sie einen anderen Betreff für neue Bestell-E-Mails für Großhandelsbestellungen fest

⚠️ Entwurf aktualisieren — NICHT auf „Veröffentlichen“ im WP-Admin klicken.
Dieser Entwurf muss in den Originalartikel integriert werden, nicht als neuer Artikel veröffentlicht werden. Die direkte Veröffentlichung erstellt einen doppelten Artikel unter der falschen URL.

➡️ Überprüfen Sie den Entwurf und führen Sie dann /kb-publish 86cxuy4ru aus — dies erkennt die Rydm-Verknüpfung und leitet automatisch über den Merge-Endpunkt.

Originalartikel: So legen Sie einen anderen Betreff für neue Bestell-E-Mails für Großhandelsbestellungen fest · ClickUp-Aufgabe: So legen Sie einen anderen Betreff für neue Bestell-E-Mails für Großhandelsbestellungen fest

Wenn Sie einen Großhandelsladen betreiben, möchten Sie möglicherweise, dass Ihre E-Mails zur Benachrichtigung über neue Bestellungen Großhandelsbestellungen klar identifizieren und sogar anzeigen, welche Großhandelsrolle die Bestellung aufgegeben hat. WooCommerce Wholesale Prices Premium enthält noch keine integrierte Möglichkeit, den E-Mail-Betreff zu überschreiben, aber Sie können ihn mit einem Code-Snippet anpassen. Dieser Artikel zeigt Ihnen, wie.

Voraussetzungen

So passen Sie den Betreff der E-Mail für neue Bestellungen für Großhandelsbestellungen an

Standardmäßig verwendet WooCommerce denselben E-Mail-Betreff für alle neuen Bestellungen. Der folgende Snippet-Code hängt sich in woocommerce_email_subject_new_order ein und fügt den Anzeigenamen der Großhandelsrolle zum Betreff hinzu, wenn es sich bei der Bestellung um eine Großhandelsbestellung handelt. Für Einzelhandelsbestellungen wird der Standard-WooCommerce-Betreff unverändert zurückgegeben.

Fügen Sie den folgenden Snippet-Code zur Datei functions.php Ihres Child-Themes oder zu einem Code-Snippet-Plugin hinzu:

// Custom New Order Subject - Adding the Wholesale Role Name in the Subject Line
add_filter( 'woocommerce_email_subject_new_order', 'wwpp_change_email_subject', 1, 2 );

function wwpp_change_email_subject( $subject, $order ) {

    // Only customise the subject for wholesale orders.
    $order_type = $order->get_meta( '_wwpp_order_type', true );
    if ( 'wholesale' !== $order_type ) {
        return $subject;
    }

    // Get the wholesale role slug stored on the order (e.g. 'wholesale_customer').
    $role_slug = $order->get_meta( '_wwpp_wholesale_order_type', true );

    // Look up the human-readable role name from the registered wholesale roles.
    // getAllRegisteredWholesaleRoles() returns an array keyed by role slug,
    // each entry containing a 'roleName' key with the display name.
    $all_wholesale_roles = WWP_Wholesale_Roles::getInstance()->getAllRegisteredWholesaleRoles();
    $role_label          = isset( $all_wholesale_roles[ $role_slug ]['roleName'] )
        ? $all_wholesale_roles[ $role_slug ]['roleName']
        : $role_slug; // Fallback to slug if the role is no longer registered.

    // Build the custom subject using the readable role name.
    $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
    $subject  = sprintf( '[%s] Order #%s - %s', $role_label, $order->get_id(), $blogname );

    return $subject;
}

Was _wwpp_order_type und _wwpp_wholesale_order_type speichern: Jede Bestellung eines Großhandelskunden erhält zwei Meta-Werte. _wwpp_order_type ist entweder 'wholesale' oder 'retail'. _wwpp_wholesale_order_type speichert die Slug der Großhandelsrolle (z. B. wholesale_customer), nicht den Anzeigenamen. Der obige Snippet-Code verwendet getAllRegisteredWholesaleRoles(), um den Slug in das lesbare Label umzuwandeln, das Sie in Ihren Großhandelsrolleneinstellungen konfiguriert haben.

Fehlerbehebung

Die Betreffzeile ändert sich nicht. Überprüfen Sie, ob der Snippet-Code korrekt gespeichert wurde und ob keine PHP-Fehler vorliegen. Der Filter woocommerce_email_subject_new_order wird nur ausgeführt, wenn WooCommerce die E-Mail für neue Bestellungen sendet. Bestätigen Sie, dass die E-Mail unter WooCommerce → Einstellungen → E-Mails → Neue Bestellung aktiviert ist.

Der Betreff zeigt den Rollen-Slug anstelle des Anzeigenamens. Dies geschieht, wenn die Großhandelsrolle nach der Bestellung gelöscht oder umbenannt wurde. Der Snippet-Code greift in diesem Fall auf den Slug zurück. Wenn Sie durchgängig Slugs sehen, stellen Sie sicher, dass die Rolle noch unter WooCommerce Wholesale Prices → Wholesale Roles registriert ist.

Retail-Bestellungen zeigen ebenfalls einen geänderten Betreff an. Stellen Sie sicher, dass der Ausschnitt eine frühe Rückgabe von _wwpp_order_type !== 'wholesale' enthält (wie oben gezeigt). Ohne diese Bedingung wird der Filter auch auf Retail-Bestellungen angewendet. Da _wwpp_wholesale_order_type für Retail-Bestellungen leer ist, würde der Betreff dann eine leere Klammer anzeigen.

Benötigen Sie Hilfe?

Wenn Sie eine Frage haben oder auf Probleme stoßen, sind wir für Sie da.

War dieser Artikel hilfreich?

Verwandte Artikel

Kauf abschließen