Bevor ich diese Frage stelle, weiß ich, dass es ein (legitimes) Zögern gibt, hier Fragen zu Woo-Produkten zu beantworten, da sie ihren eigenen Support haben und ihre Benutzer dazu ermutigt werden sollten, diesen zu verwenden. Ich bin ein zahlender Woo-Benutzer, konnte dies jedoch nicht mit seiner bezahlten Unterstützung lösen. Meine Frage bezieht sich auf das Überschreiben von Klassen in WP, daher hoffe ich, dass es eine faire Anhörung gibt.
Meine Frage: Wenn eine abgeschlossene Bestell-E-Mail an einen Kunden gesendet wird, muss ich diese E-Mail auch wörtlich und automatisch erhalten, genau so, wie sie an den Kunden gesendet wird, und nicht in einem anderen Format, wie es durch die verschiedenen Rechnungs-PDFs erstellt wird Plugins für WooCommerce. Ich kann dies sehr leicht erreichen, indem ich die folgende Zeile in ändere /woocommerce/classes/emails/class-wc-email-customer-completed-order.php
:
$this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
lesen:
$this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
$this->send( me@myemail.com, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
Offensichtlich wird ein solcher Hack ein Upgrade jedoch nicht überleben. Ich habe ein untergeordnetes Thema, das WooCommerce-Vorlagen überschreibt. Gibt es einen äquivalenten Mechanismus, mit dem ich eine Klasse auf ähnlich gekapselte Weise überschreiben kann? Oder können Sie einen alternativen Ansatz empfehlen (abgesehen davon, dass der SMTP-Server so eingestellt ist, dass alle ausgehenden E-Mails an die zweite Adresse gesendet werden), um meine spezifische Aufgabe zu erfüllen, diese E-Mail zu empfangen, wenn der Kunde sie auch empfängt?