Pada kesempatan ini Kami akan berbagi tips untuk kalian yang memiliki website toko online dengan menggunakan Woocommerce di WordPress, mungkin kalian sedang mencari cara untuk mengirim email otomatis ke pelanggan dengan status order Dibatalkan/Cancelled maupun Gagal/Failed.
Sebetulnya Woocommerce sudah menyediakan fitur kirim email otomatis ke Admin Website atau Pelanggan untuk setiap transaksi order nya, akan tetapi ada beberapa yang dirasa masih kurang lengkap seperti mengirimkan email otomatis bagi pelanggan yang memiliki status order Dibatalkan/Cancelled.
Saat ini Woocommerce hanya bisa mengirimkan email otomatis ke Admin Website saja untuk status order Dibatalkan/Cancelled maupun Gagal/Failed. Maka dari itu kami akan memberikan tutorial cara untuk menambahkan function untuk mengirimkan email otomatis ke Pelanggan dengan status order Dibatalkan/Cancelled maupun Gagal/Failed.
Cara Tambah Fitur Kirim Email Otomatis Untuk Pelanggan Dengan Status Order Dibatalkan/Cancelled
- Silahkan login ke website toko online Anda
- Pilih menu Plugin lalu Tambah plugin Code Snippets
- Silahkan buka menu Snippet > Tambah Baru
- Masukkan judul Snippet bebas, contoh : function untuk kirim email otomatis
- Masukkan souce code dibawah ini ke Snippet
add_action( ‘restrict_manage_posts’, ‘cancel_unpaid_orders’ );
function cancel_unpaid_orders() {
global $pagenow, $post_type;
// Enable the process to be executed daily when browsing Admin order list
if( ‘shop_order’ === $post_type && ‘edit.php’ === $pagenow
&& get_option( ‘unpaid_orders_daily_process’ ) < time() ) :
$days_delay = 1; // <=== SET the delay (jumlah hari untuk menunggu sebelum dibatalkan)
$one_day = 24 * 60 * 60;
$today = strtotime( date(‘Y-m-d’) );
// Get unpaid orders (5 days old)
$unpaid_orders = (array) wc_get_orders( array(
‘limit’ => -1,
‘status’ => ‘on-hold’,
‘date_created’ => ‘<‘ . ( $today – ($days_delay * $one_day) ),
) );
if ( sizeof($unpaid_orders) > 0 ) {
$cancelled_text = __(“The order was cancelled due to no payment from customer.”, “woocommerce”);
// Loop through orders
foreach ( $unpaid_orders as $unpaid_order ) {
$unpaid_order->update_status( ‘cancelled’, $cancelled_text );
}
}
// Schedule the process to the next day (executed once restriction)
update_option( ‘unpaid_orders_daily_process’, $today + $one_day );
endif;
}
- Lalu silahkan klik tombol Save Changes.
Silahkan untuk melakukan pengecekan & walaa fitur kirim email otomatis ke pelanggan dengan status order Dibatalkan/Cancelled sudah berhasil ditambahkan. Semoga bermanfaat, salam.