if (function_exists('get_wc_booking_statuses')) {
$status_list = get_wc_booking_statuses();
foreach($status_list as $item => $value) {
add_action('woocommerce_booking_'.$value, 'send_booking_sms_status', 10, 2);
}
}
//Booking 상태 변경에 따른 발송 처리
function send_booking_sms_status($booking_id, $booking_obj) {
if (!empty($booking_obj -> get_status())) {
$status = $booking_obj -> get_status();
// Booking 상태는 unpaid, pending-confirmation, confirmed, paid, complete, in-cart
// 가 있습니다. 상황에 맞춰 구성하여 이용하세요.
if ($status == 'unpaid') {
$mall_name = '사이트명';
$rcv_num = '0100000000'; //문자 수신 전화번호
$smstext = '예약이 unpaid 되었습니다.'; //수신받을 문자 내용
//문자 발송 처리
do_action('mshop_send_sms', $rcv_num, null, $smstext, $mall_name);
}
}
}
부킹스 관련 상태 체크 문자 발송이 없어서, 코드엠샵에 문의 시 안내 받은 코드
단, 위 상태 체크 방법으로는 예약 상품의 상태 변경 시 사이트가 다운이 되는 현상이 확인되어, woocommerce_booking_{status}라는 훅으로 각각의 상태별 조건 구현.
// 예약 승인 시 - to 게스트
add_action( 'woocommerce_booking_pending-confirmation_to_confirmed', 'send_booking_confirmed_status', 99);
function send_booking_confirmed_status($booking_id) {
. . . . . . .
//문자 발송 처리
do_action('mshop_send_sms', $rcv_num, null, $smstext, $mall_name);
}