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
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 );