완료부분 후킹에 대해서 재질문 합니다. 채택완료
Remoted
9년 전
조회 2,580
플러그인 파일 내에서
</p><p>function order_form_complete($od_id, $params, $qstr, $url)</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>global $current_user;</p><p> get_currentuserinfo();</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$user_ID = $current_user->ID;</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>if ( $params['ct_status'] == 'complete' ){</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>add_user_meta($user_ID, 'mc_check', 2, true);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p>}</p><p>//do_action('gc_order_form_cart_update', $od_id, $params, $qstr, $url );</p><p>add_action('gc_order_form_cart_update','order_form_complete',10,4);</p><p>
와 같이 짯는데 동작하질 않는군요 - 0- .... 혹시 return 을 적어줘야하나요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
9년 전
네.
그 부분은 제가 실수했습니다.
주문 상태 수정하는 페이지는 주문 리스트 페이지와 주문 상세 보기 페이지 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;
이것을 아래와 같이 바꿔주세요.
</p><p>$url = add_query_arg( array_filter(wp_parse_args($qstr, array())), admin_url('admin.php?page=gnu_orderlist') );</p><p> </p><p>$od_ids = isset($_POST['od_id']) ? (array) $_POST['od_id'] : array();</p><p>do_action('gc_order_form_cart_update', $_POST['od_id'], $params, $qstr, $url );</p><p> </p><p>gc_javascript_location_replace($url);</p><p>exit;</p><p>
수정한 부분은 다음 버젼에 업데이트 하겠습니다.
질문한 내용의 코드를 아래와 같이 바꿔주세요.
</p><p>function order_form_complete($od_id, $params, $qstr, $url)</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>global $current_user;</p><p> get_currentuserinfo();</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$user_ID = $current_user->ID;</p><p> </p><p> $status = isset($params['ct_status']) ? $params['ct_status'] : $params['od_status'];</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>if ( $status == 'complete' ){</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>add_user_meta($user_ID, 'mc_check', 2, true);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p> </p><p>}</p><p>//do_action('gc_order_form_cart_update', $od_id, $params, $qstr, $url );</p><p>add_action('gc_order_form_cart_update','order_form_complete',10,4);</p><p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인