Mặc định trong WooCommerce, để thông báo cho khách hàng đơn hàng lỗi hay bị huỷ, chúng ta chỉ có thể sử dụng Ghi chú tới khách hàng
để thông báo cho khách hàng biết mà không có thông báo nào nữa sau khi tiến hành huỷ đơn hàng.
Vậy để thông báo cho khách hàng khi đơn hàng thất bại hoặc bị huỷ đơn hàng thì bạn có thể làm theo hướng dẫn bên dưới.
Mở file functions.php
trong thư mục gốc theme bạn đang dùng và thêm code dưới và lưu lại.
function wc_cancelled_order_add_customer_email( $recipient, $order ){
return $recipient . ',' . $order->billing_email;
}
add_filter( 'woocommerce_email_recipient_cancelled_order', 'wc_cancelled_order_add_customer_email', 10, 2 );
add_filter( 'woocommerce_email_recipient_failed_order', 'wc_cancelled_order_add_customer_email', 10, 2 );
hoặc
add_action('woocommerce_order_status_changed', 'send_custom_email_notifications', 10, 4 );
function send_custom_email_notifications( $order_id, $old_status, $new_status, $order ){
if ( $new_status == 'cancelled' || $new_status == 'failed' ){
$wc_emails = WC()->mailer()->get_emails(); // Get all WC_emails objects instances
$customer_email = $order->get_billing_email(); // The customer email
}
if ( $new_status == 'cancelled' ) {
// change the recipient of this instance
$wc_emails['WC_Email_Cancelled_Order']->recipient = $customer_email;
// Sending the email from this instance
$wc_emails['WC_Email_Cancelled_Order']->trigger( $order_id );
}
elseif ( $new_status == 'failed' ) {
// change the recipient of this instance
$wc_emails['WC_Email_Failed_Order']->recipient = $customer_email;
// Sending the email from this instance
$wc_emails['WC_Email_Failed_Order']->trigger( $order_id );
}
}
Chúc các bạn thành công!