web-dev-qa-db-de.com

Bearbeiten der Header-Titel aller Details in der Bestell-E-Mail von woocommerce

Ich benutze flatsome Theme, Woocommerce Plugin. Auf meiner Dankesseite erhalte ich die Bankdaten, Bestelldaten und Kundendaten usw., aber auf der Kundenbestell-E-Mail unterscheiden sich die Überschriften dieser Details von denen, die auf der Dankesseite angezeigt werden. Kann ich die Überschrift der Details in der E-Mail auf irgendeine Weise ändern? Ich habe den Headertitel von order-details-customer.php bereits geändert und er wird auf der Dankesseite korrekt wiedergegeben, jedoch NICHT IN EMAIL.

Danke im Voraus!

Hoffe jemand kann mir wirklich weiterhelfen! T-T

2
zhie

Um die Überschrift zu ändern, die im Nachrichtentext der E-Mail-Vorlage angezeigt wird, können Sie den folgenden Filter verwenden: 'woocommerce_email_heading_' . $this->id wobei $this->id der Eigenschaft id class entspricht, die in der E-Mail-Klasse des angegebenen Typs festgelegt ist.

Um beispielsweise die Überschrift der E-Mail "Neue Bestellung" zu ändern, gehen Sie wie folgt vor:

function filter_heading_new_order($heading) {
    return 'My New Heading';
}

add_filter('woocommerce_email_heading_new_order', 'filter_heading_new_order');

Um die $this->id -Eigenschaft jeder E-Mail zu erhalten, können Sie die Klassen in:

plugins/woocommerce/includes/emails

Wenn Sie einige der spezifischen Elemente im E-Mail-Text (Nachricht) bearbeiten möchten, müssen Sie sich einige der Hoosk-Elemente ansehen, die in der betreffenden Vorlagendatei verwendet werden, wie diese Hooks es gewohnt sind Daten in die Vorlage einfügen.

So bearbeiten Sie beispielsweise die Überschrift Kundendetails:

function filter_custom_details_header($heading) {
    return 'My Customer Details Heading';
}

add_filter('woocommerce_email_custom_details_header', 'filter_custom_details_header');

Um die Überschrift für Bankdaten zu filtern, üblicherweise "Unsere Bankdaten", die mit woocommerce_email_before_order_table verknüpft sind und von der Rückruffunktion email_instructions() in class-wc-gateway-bacs.php aufgerufen werden, müssen Sie den Filter gettext verwenden, da sie diesen Wert wiedergeben und keinen direkten Filter dafür bereitstellen.

function filter_bank_details_headin($translated_text, $text, $domain) {

    if ( did_action('woocommerce_email_before_order_table') ) {

        switch ( $translated_text ) {

            case 'Our Bank Details' :

                $translated_text = __( 'My Bank Details Are...', 'woocommerce' );
                break;

        }

    }

    return $translated_text;
}

add_filter( 'gettext', 'filter_bank_details_heading', 20, 3 );
2
userabuser