$validation->get_error_code(), 'message' => $validation->get_error_message(), ), 403 ); } if ( '' === $origin_url ) { $origin_url = wp_get_referer(); } $landing_url = WPBC_Booking_Modes_V3_Switch_Intent::create_landing_url( $mode_id, $origin_url, $origin_fragment ); if ( is_wp_error( $landing_url ) ) { wp_send_json_error( array( 'code' => $landing_url->get_error_code(), 'message' => $landing_url->get_error_message(), ), 500 ); } $save_result = wpbc_booking_modes_set_selected_mode_id( $mode_id ); if ( is_wp_error( $save_result ) ) { wp_send_json_error( array( 'code' => $save_result->get_error_code(), 'message' => $save_result->get_error_message(), ), 500 ); } $mode = wpbc_booking_modes_get_mode( $mode_id ); /* translators: %s: Activated Booking Calendar administration mode. */ $success_message = sprintf( __( '%s mode activated.', 'booking' ), $mode['label'] ); wp_send_json_success( array( 'mode_id' => $mode_id, 'label' => $mode['label'], 'redirect_url' => $landing_url, 'message' => $success_message, ) ); } add_action( 'wp_ajax_WPBC_AJX_BOOKING_MODE_SWITCH', 'wpbc_booking_modes_ajax_switch_mode' );