Zanim zadam to pytanie, wiem, że istnieje (uzasadnione) wahanie, aby odpowiedzieć tutaj na pytania dotyczące produktów Woo, ponieważ mają one własne wsparcie i ich użytkowników należy zachęcać do korzystania z niego. Jestem płatnym użytkownikiem Woo, ale nie mogłem rozwiązać tego za pomocą płatnego wsparcia, a moje pytanie dotyczy zastąpienia zajęć w WP, więc mam nadzieję, że otrzyma uczciwe wysłuchanie.
Moje pytanie: kiedy e-mail z wypełnionym zamówieniem jest wysyłany do klienta, muszę również otrzymywać ten e-mail, dosłownie i automatycznie, dokładnie tak, jak jest on wysyłany do klienta, a nie w innym formacie, takim jak ten, który jest utworzony przez różne faktury PDF wtyczki do WooCommerce. Mogę bardzo łatwo to zrobić, zmieniając następujący wiersz /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() );
czytać:
$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() );
Jednak oczywiście taki hack nie przetrwa aktualizacji. Mam motyw potomny, który zastępuje szablony WooCommerce. Czy istnieje jakiś równoważny mechanizm, za pomocą którego można zastąpić klasę w podobny sposób zamknięty? A może możesz polecić alternatywne podejście (oprócz ustawienia serwera SMTP na zapisywanie wszystkich wychodzących wiadomości e-mail na drugi adres) w celu wykonania mojego konkretnego zadania polegającego na otrzymaniu tego e-maila, gdy klient również go otrzyma?