/*kboard_document_insert*/
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 2);
function my_kboard_document_insert($content_uid, $board_id){
$document = new KBContent();
$document->initWithUID($content_uid);
/*$idx = isset($_POST['idx'])&&$_POST['idx'] ? sanitize_text_field($_POST['idx']) : '';*/
if($board_id == '15'){
global $wpdb;
$delivery = $_POST['delivery'];
$deliveryarr = explode(",", $delivery);
$count = count($deliveryarr);
$member_display = $_POST['member_display'];
$date = $_POST['date_custom'];
$date1 = date("Ymd", strtotime($date));
$date2 = date("YmdHi", strtotime("$date1, -5 hours -30 minute"));
$wpdb->update('wp_kboard_board_content', array('order_state'=>'배송중'), array('uid'=>$content_uid));
$delivery_query = $wpdb->get_results(
"
SELECT uid, date, order_state, board_id
FROM {$wpdb->prefix}kboard_board_content
WHERE {$wpdb->prefix}kboard_board_content.board_id = '14' AND {$wpdb->prefix}kboard_board_content.order_state = '제품생산중'
"
);
foreach($delivery_query as $delivery_uid){
$delivery_date = $delivery_uid->date;
$delivery_date1 = date("YmdHi", strtotime($delivery_date));
$delivery_uid = $delivery_uid->uid;
/*배송중 상태변경*/
$wpdb->update('wp_kboard_board_content', array('order_state'=>'배송중'), array('uid'=>$delivery_uid));
/*데이터 넘기기*/
$wpdb->query( $wpdb->prepare(
"
INSERT INTO {$wpdb->prefix}kboard_board_option
( content_uid, option_key, option_value )
VALUES ( %d, %s, %s )
",
$delivery_uid,
'delivery',
$member_display
)
);
/*
if($date2 > $delivery_date1){
}
*/
}
}
}
안녕하세요 해당 코드를 사용해서 글 등록시 {$wpdb->prefix}kboard_board_content.order_state의 값이 '제품생산중' 이면 배송중으로 변경하는 코드를 만들어서 사용중에 있습니다.
추가로 여기에서 1일 후에 '배송중'인 데이터를 배송완료로 바꾸려면 어떻게 할 수 있을까요?
감사합니다.
안녕하세요~^^
KBoard 쪽에는 크론 기능이 없기 때문에
워드프레스 크론 기능을 사용하셔야 할 듯합니다.
그리고 홈페이지 접속이 없어도 크론을 동작되게 하시려면
리눅스 서버의 크론을 사용하는 방법밖에는 없습니다.
리눅스 서버의 크론을 사용하면
워드프레스 홈페이지 접속이 없어도 동작되지만
리눅스 서버 관리자가 아니면 사용을 못하는 단점이 있습니다.
고맙습니다.