WordPress ile geliştirilmiş olan e-ticaret siteleri için birbirinden faydalı fonksiyonlar yazmaya devam ediyoruz. Bu gün bir müşteri web sitesi üzerinden satış yaptığından ve sadece üç ürünü olduğundan bahsetti. Siparişi verilen her farklı ürün için farklı bir e-posta göndermek istediğini söyledi. Elbette ki bu işlemi yapacak onlarca eklenti vardır ama ben her zaman için eklenti kullanmak yerine kodlar ile işimizi halletmeyi önerdiğim için ufak bir fonksiyon ile müşterimin bu istediğiniz yerine getirmiş olduk.
Aşağıdaki kodu kullanarak sizde ürün bazında farklı e-posta gönderebilirsiniz.
function custom_email_on_order_completed( $order_id ) { $order = wc_get_order( $order_id ); $email = $order->get_billing_email(); $items = $order->get_items(); foreach( $items as $item ) { $product_id = $item['product_id']; $product = wc_get_product( $product_id ); if( $product->get_name() == 'Ürün 1' ) { $subject = 'Ürün 1 Sipariş Tamamlandı!'; $message = 'Ürün 1 siparişiniz tamamlandı. Teşekkür ederiz!'; wp_mail( $email, $subject, $message ); } else if( $product->get_name() == 'Ürün 2' ) { $subject = 'Ürün 2 Sipariş Tamamlandı!'; $message = 'Ürün 2 siparişiniz tamamlandı. Teşekkür ederiz!'; wp_mail( $email, $subject, $message ); } else { // diğer ürünler için varsayılan e-posta mesajı $subject = 'Sipariş Tamamlandı!'; $message = 'Siparişiniz Tamamlandı. Teşekkür ederiz!'; wp_mail( $email, $subject, $message ); } } } add_action( 'woocommerce_order_status_completed', 'custom_email_on_order_completed' );