티스토리 뷰

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


 우커머스 상태 변경 체크 : woocommerce_order_status_changed


우커머스( woocommerce)는 무료로 제공되는 이커머스(e-commerce) 를 위한 워드프레스용 플러그인이다.

기본적인 우커머스의 주문 상태는 

 


- pending payment(결제대기중) : 주문접수는 되었지만 미결제 상태

- failed : 결제 실패

- processing : 결제 성공이후 주문이 처리 중

- on-hold : 결제가 완전히 되었는지 확인 중

- completed : 주문 완료

- canceled : 주문 취소

- refunded : 환불 완료

  

기본 주문 상태를 보면 우리가 익숙한 쇼핑몰에 필수인 "배송중"인 상태가 없는걸 알 수 있다.


이런 경우를 위해 우커머스에서는 사용자가 직접 주문상태를 추가 할 수 있는 기능을 제공하고 있다( 플러그인이나 functions.php를 이용)


사용자 상태 추가는 이후 따로 설명을 하고 "베송중" 상태를 추가하고 난 뒤   해당 상태로 변경 시 체크하는 기능과 더불어 이 때 메일을 발송할 수 있는 기능을 추가해보자.


우커머스에는 해당 훅을 사용하기 위해 woocommerce_order_status_changed 를 제공한다 (http://hookr.io/actions/woocommerce_order_status_changed/)




 add_action("woocommerce_order_status_changed", "custom_notification", 10, 3);
function custom_notification($id, $old_status, $new_status) {
	global $woocommerce;
       $order = new WC_Order( $id );
       if($order->status === 'on-delivery' ) {
		$mailer = $woocommerce->mailer();
		$message_body = 'hello world"; // 본문에 들어갈 내용
		$message = $mailer->wrap_message(
		// Message head and message body.
		"주문하신 상품 배송이 시작되었습니다.", $message_body );
		$mailer->send( $order->billing_email, '주문하신 상품이 배송 시작되었습니다.', $message );
   }
 }



주문상태 $order->status에서 상태 체크 후 메일 보내기 정보를 넣어 주면 주문시 등록된 이메일로 발송이 되었다는 내용을 담아 고객에게 메일을 보낼 수 있게 된다.




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함