완료부분 후킹에 대해서 재질문 합니다.

완료부분 후킹에 대해서 재질문 합니다.

QA

완료부분 후킹에 대해서 재질문 합니다.

본문

플러그인 파일 내에서

 


function order_form_complete($od_id, $params, $qstr, $url)
{
	global $current_user;
    get_currentuserinfo();
 
	$user_ID = $current_user->ID;
 
	if ( $params['ct_status'] == 'complete' ){
		add_user_meta($user_ID, 'mc_check', 2, true);
	}
}
//do_action('gc_order_form_cart_update', $od_id, $params, $qstr, $url );
add_action('gc_order_form_cart_update','order_form_complete',10,4);
 

와 같이 짯는데 동작하질 않는군요 - 0- .... 혹시 return 을 적어줘야하나요?

이 질문에 댓글 쓰기 :

답변 1

네.

그 부분은 제가 실수했습니다.

 

주문 상태 수정하는 페이지는 주문 리스트 페이지와 주문 상세 보기 페이지 2군데가 있지만,

 

주문 상세 보기 페이지에서 주문 상태를 수정할시 위의 hook 이 작동되지만,

 

주문 리스트 페이지에서는 코드를 넣지 않아서 동작되지 않았습니다.

 

adm/orderlistupdate.php 페이지를 아래와 같이 수정해 주세요.

 

맨 끝에 줄

 

$url = add_query_arg( array_filter(wp_parse_args($qstr, array())), admin_url('admin.php?page=gnu_orderlist') );

 

gc_javascript_location_replace($url);

exit;

 

이것을 아래와 같이 바꿔주세요.

 


$url = add_query_arg( array_filter(wp_parse_args($qstr, array())), admin_url('admin.php?page=gnu_orderlist') );
 
$od_ids = isset($_POST['od_id']) ? (array) $_POST['od_id'] : array();
do_action('gc_order_form_cart_update', $_POST['od_id'], $params, $qstr, $url );
 
gc_javascript_location_replace($url);
exit;

 

수정한 부분은 다음 버젼에 업데이트 하겠습니다.

 

 

 

질문한 내용의 코드를 아래와 같이 바꿔주세요.

 

 


function order_form_complete($od_id, $params, $qstr, $url)
{
	global $current_user;
    get_currentuserinfo();
 
	$user_ID = $current_user->ID;
 
    $status = isset($params['ct_status']) ? $params['ct_status'] : $params['od_status'];
 
	if ( $status == 'complete' ){
		add_user_meta($user_ID, 'mc_check', 2, true);
	}
 
}
//do_action('gc_order_form_cart_update', $od_id, $params, $qstr, $url );
add_action('gc_order_form_cart_update','order_form_complete',10,4);
답변을 작성하시기 전에 로그인 해주세요.
전체 7
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT