티스토리 뷰
우커머스 상태 변경 체크 : 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에서 상태 체크 후 메일 보내기 정보를 넣어 주면 주문시 등록된 이메일로 발송이 되었다는 내용을 담아 고객에게 메일을 보낼 수 있게 된다.
'워드프레스' 카테고리의 다른 글
wordpress editor - form tag 추가하기 (0) | 2019.01.04 |
---|---|
wp_membership - 회원 할인가 조회하기 (0) | 2019.01.02 |
wp_reset_postdata 를 기억하자. (0) | 2018.11.20 |