Woocommerce Ich suche E-Mail-Hooks für die Rechnungsadresse und den Eingang der Bestellung

Lesezeit: 2 Minuten

Ich muss zwei Anpassungen auf meiner Woocommerce-Site vornehmen.

Ich muss zwei Haupthaken kennen. Jemand da draußen, bitte hilf mir!

  1. Benutzerdefinierte Feldwerte für die Rechnungsadresse auf der Bestelleingangsseite anzeigen. (Ich habe benutzerdefinierte Felder auf der Checkout-Seite hinzugefügt.)

  2. Diese Werte müssen auch in die Bestelleingangs-E-Mail der Kunden aufgenommen werden.

Danke für’s vorbeikommen.

Benutzer-Avatar
Raunak Gupta

Um ein benutzerdefiniertes Feld auf der Bestelleingangsseite anzuzeigen, müssen Sie verwenden
woocommerce_thankyou Haken.

Hier ist der Code:

// define the woocommerce_thankyou callback 
function action_woocommerce_thankyou($order_id)
{
    $my_custom_field = get_post_meta($order_id, '_billing_my_field', TRUE);
}

// add the action 
add_action('woocommerce_thankyou', 'action_woocommerce_thankyou', 10, 1);


AKTUALISIERT Dieser Abschnitt nach dem Kommentar des Autors

Um benutzerdefinierte Rechnungsfelder in WooCommerce-E-Mails hinzuzufügen, müssen Sie verwenden
woocommerce_email_customer_details Haken; diese wird kurz vor den Kundendetails angezeigt.

Hier ist der Code:

add_filter('woocommerce_email_customer_details', 'custom_woocommerce_email_order_meta_fields', 10, 3);

function custom_woocommerce_email_order_meta_fields($order, $sent_to_admin, $plain_text)
{
    $_billing_my_field = get_post_meta($order->id, '_billing_my_field', true);
    if ($plain_text)
    {
        echo 'My field is ' . $_billing_my_field;
    }
    else
    {
        echo '<p>My field is  ' . $_billing_my_field . '</p>';
    }
}

Der gesamte Code geht in die function.php-Datei Ihres aktiven Child-Themes (oder Themes) oder auch in eine beliebige Plugin-Datei.


Bitte beachten Sie:

  • Ich gehe davon aus, dass Sie ein benutzerdefiniertes Abrechnungsfeld als hinzugefügt haben $fields['billing']['billing_my_field'] verwenden woocommerce_checkout_fields Haken.
  • Alle Codes sind getestet und voll funktionsfähig.

  • Danke @Raunak Gupta! Erster Teil hat funktioniert. Aber für die zweite Hälfte möchte ich, dass es im Kundendetailbereich angezeigt wird. Dann habe ich mit Google gesucht und das gefunden docs.woocommerce.com/wc-apidocs/… . Ich denke, ich muss ändern oder filtern? public function customer_details()wie kann man das machen?

    – norixxx

    13. Dezember 2016 um 6:55 Uhr


  • Willkommen, wenn es hilft, dann akzeptiere bitte meine Antwort und bewerte sie.

    – Raunak Gupta

    13. Dezember 2016 um 6:56 Uhr

  • Ich habe meine Antwort aktualisiert, bitte schauen Sie nach, und ja, wir brauchen woocommerce_email_customer_details Haken, um benutzerdefinierte Felder im Abschnitt mit den Kundendetails hinzuzufügen.

    – Raunak Gupta

    13. Dezember 2016 um 7:25 Uhr

  • Danke nochmal für so einen schnellen Tipp! Es hat gut funktioniert!! Ich habe die Filterpriorität auf 20 geändert, sodass der Wert der benutzerdefinierten Felder unter den regulären Kundendetails angezeigt wird 🙂

    – norixxx

    13. Dezember 2016 um 11:30 Uhr


1225640cookie-checkWoocommerce Ich suche E-Mail-Hooks für die Rechnungsadresse und den Eingang der Bestellung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy