Αυτόματο email σε ακυρωμένες παραγγελίες WooCommerce
Μάθετε πώς να στέλνετε αυτόματα email ακύρωσης στον πελάτη όταν μια παραγγελία
στο WooCommerce αλλάζει κατάσταση σε cancelled,
χρησιμοποιώντας ένα απλό PHP snippet.
Τι κάνει αυτό το snippet
Από προεπιλογή, το WooCommerce δεν ειδοποιεί πάντα τον πελάτη όταν μια παραγγελία ακυρώνεται. Αυτό μπορεί να δημιουργήσει σύγχυση, ειδικά αν ο πελάτης δεν γνωρίζει αν η πληρωμή ή η παραγγελία του ολοκληρώθηκε σωστά.
Με το παρακάτω snippet, κάθε φορά που μια παραγγελία αλλάζει σε Ακυρωμένη, προστίθεται αυτόματα customer note και αποστέλλεται email στον πελάτη μέσω του default WooCommerce email template.
1) Γιατί να στείλω email ακύρωσης στο WooCommerce;
Όταν η παραγγελία ενός πελάτη ακυρώνεται χωρίς ειδοποίηση, ο πελάτης μπορεί να:
- Αναρωτηθεί αν η πληρωμή του ολοκληρώθηκε σωστά.
- Επικοινωνήσει με την υποστήριξη για διευκρινίσεις.
- Νιώσει λιγότερη εμπιστοσύνη για μελλοντικές αγορές.
Στέλνοντας αυτόματα ένα email επιβεβαίωσης ακύρωσης, μπορείτε να:
- Κρατάτε τους πελάτες πάντα ενημερωμένους.
- Μειώσετε τα αιτήματα υποστήριξης.
- Βελτιώσετε τη συνολική εμπειρία αγοράς.
2) Το WooCommerce cancellation email snippet
Παρακάτω θα βρείτε ένα απλό PHP snippet που μπορείτε να προσθέσετε στο
functions.php του child theme σας ή, ακόμα καλύτερα, σε ένα custom plugin.
// Automatically notify customer when an order is cancelled (uses Customer Note email)
add_action('woocommerce_order_status_cancelled', function( $order_id ){
$order = wc_get_order( $order_id );
if ( ! $order ) {
return;
}
$msg = 'Your order #' . $order->get_order_number() . ' has been cancelled. '
. 'If this was a mistake or you need assistance, please contact us.';
// true => sends the note to the customer via the default WooCommerce email template
$order->add_order_note( $msg, true );
});
3) Πώς λειτουργεί αυτό το snippet
Το snippet συνδέεται με το WooCommerce hook
woocommerce_order_status_cancelled.
wc_get_order( $order_id ) γίνεται ανάκτηση του order object.
$order->add_order_note( $msg, true ) το WooCommerce στέλνει email στον πελάτη.
4) Πού να προσθέσετε το snippet
Μπορείτε να προσθέσετε τον κώδικα με έναν από τους παρακάτω τρόπους:
- Στο functions.php του child theme σας.
- Σε ένα custom plugin, ώστε να μην εξαρτάται από το theme.
- Σε plugin διαχείρισης snippets, αν χρησιμοποιείτε ήδη τέτοια λύση.
5) Προσαρμογή μηνύματος email
Το μήνυμα που στέλνεται στον πελάτη βρίσκεται στη μεταβλητή $msg.
Μπορείτε να το αλλάξετε ώστε να ταιριάζει με το ύφος του brand σας.
$msg = 'Your order #' . $order->get_order_number() . ' has been cancelled. '
. 'If this was a mistake or you need assistance, please contact us.';
6) Έλεγχος πριν το βάλετε live
Πριν το περάσετε σε παραγωγικό περιβάλλον, κάντε πάντα δοκιμή σε staging site.
- Προσθέστε το snippet στο staging site.
- Δημιουργήστε μια δοκιμαστική WooCommerce παραγγελία με πραγματικό email παραλήπτη.
- Αλλάξτε την κατάσταση της παραγγελίας σε Ακυρωμένη.
- Ελέγξτε ότι εμφανίζεται customer note μέσα στην παραγγελία.
- Ελέγξτε ότι ο πελάτης λαμβάνει το email.
- Ελέγξτε spam/junk folder και SMTP logs, αν το email δεν φτάσει.
7) Best practices
- Κάντε πάντα δοκιμή σε staging site πριν το περάσετε σε production.
- Προσαρμόστε το μήνυμα ακύρωσης ώστε να ταιριάζει με το ύφος του brand σας.
- Σκεφτείτε να μεταφράσετε το email αν έχετε πολυγλωσσικό κατάστημα.
- Χρησιμοποιήστε child theme ή custom plugin για να μην χαθούν οι αλλαγές μετά από ενημέρωση θέματος.
- Χρησιμοποιήστε SMTP plugin για πιο αξιόπιστη αποστολή transactional emails.
8) Συχνές ερωτήσεις
Ναι, κάθε φορά που μια παραγγελία αλλάζει σε κατάσταση cancelled, το snippet προσθέτει customer note και ζητά από το WooCommerce να το στείλει στον πελάτη.
Ναι. Αλλάζετε το περιεχόμενο της μεταβλητής $msg μέσα στο snippet.
Ελέγξτε αν λειτουργούν σωστά τα WooCommerce emails, αν είναι ενεργό το customer note email και αν το site στέλνει σωστά emails μέσω SMTP.
Μπορείτε, αλλά προτιμήστε child theme ή custom plugin, ώστε να μη χαθεί ο κώδικας σε update.
9) Υποστήριξη
Για οποιοδήποτε πρόβλημα ή απορία σχετικά με WooCommerce snippets, μπορείτε να επικοινωνήσετε με την τεχνική υποστήριξη.