훅을 이용하여 원하는 상황에 맞게 커스텀하여 이용할 수 있습니다.
커스텀 코드를 참고하여 /wp-content/themes/차일드 테마/functions.php 에 추가합니다.
(주의) 본 테마에 적용할 경우, 추후 테마 업데이트 시 작업한 내역이 삭제되므로 차일드 테마에 작업하는 것을 권장드립니다.
본 테마에 작업하실 경우 테마 업데이트 전 반드시 커스텀 작업 내역을 백업 후 업데이트 해주시기 바랍니다.
mnp_custom_order_data #
-
설명 #
네이버페이 주문 등록 시 커스텀 정보를 추가할 수 있습니다.
추가된 커스텀 정보는 네이버페이 주문 완료 후 주문 생성시 주문 메타로 자동 저장됩니다.
주문 메타에 저장될때 키값은 ‘_’ + 키값으로 저장됩니다. 예를 들어, 커스텀 정보의 키값이 “param1″인 경우, 주문 메타에 저장될때의 키값은 “_param1″으로 저장됩니다. -
사용 방법 #
add_filter( 'mnp_custom_order_data', 'my_mnp_custom_order_data' );
-
예제 #
add_filter( 'mnp_custom_order_data', 'my_mnp_custom_order_data' ); /** * @param array $order_data * * @return mixed */ function my_mnp_custom_order_data( $order_data ) { $order_data['param1'] = 'value1'; return $order_data; }
mnp_before_create_npay_order, mnp_after_create_npay_order #
-
설명 #
고객이 네이버페이로 결제시 결제내역이 가맹점에 콜백으로 전달됩니다.
콜백을 수신한 후 네이버페이 결제건에 대한 우커머스 주문을 생성할때 호출됩니다. -
사용 방법 #
add_action( 'mnp_before_create_npay_order', 'my_mnp_before_create_npay_order'); add_action( 'mnp_after_create_npay_order', 'my_mnp_after_create_npay_order', 10, 2);
-
예제 #
add_action( 'mnp_before_create_npay_order', 'my_mnp_before_create_npay_order' ); /** * @param array $npay_orders */ function my_mnp_before_create_npay_order( $npay_orders ) { /** Do something.... */ } add_action( 'mnp_after_create_npay_order', 'my_mnp_after_create_npay_order', 10, 2 ); /** * @param WC_Order $order * @param array $npay_orders */ function my_mnp_after_create_npay_order( $order, $npay_orders ) { if ( $order && ! empty( $npay_orders ) ) { $params = array(); $npay_order = $npay_orders[0]; if ( property_exists( $npay_order->ProductOrder, 'MerchantCustomCode2' ) ) { parse_str( $npay_order->ProductOrder->MerchantCustomCode2, $params ); /** $params 배열에 mnp_custom_order_data 필터로 추가한 값들이 저장됩니다. */ } } }
mnp_before_refresh_npay_order, mnp_after_refresh_npay_order #
-
설명 #
우커머스 주문 상세 화면에서 “주문정보 새로고침” 버튼 클릭 시, 네이버페이의 최신 주문 정보를 기반으로 우커머스 주문을 갱신합니다.
주문 정보를 갱신할 때 호출됩니다. -
사용 방법 #
add_action( 'mnp_before_refresh_npay_order', 'my_mnp_before_refresh_npay_order'); add_action( 'mnp_after_refresh_npay_order', 'my_mnp_after_refresh_npay_order', 10, 2);
-
예제 #
add_action( 'mnp_before_refresh_npay_order', 'my_mnp_before_refresh_npay_order' ); /** * @param WC_Order $order */ function my_mnp_before_create_npay_order( $order ) { /** Do something.... */ } add_action( 'mnp_after_refresh_npay_order', 'my_mnp_after_refresh_npay_order', 10, 2 ); /** * @param WC_Order $order * @param array $npay_orders */ function my_mnp_after_create_npay_order( $order, $npay_orders ) { if ( $order && ! empty( $npay_orders ) ) { $params = array(); $npay_order = $npay_orders[0]; if ( property_exists( $npay_order->ProductOrder, 'MerchantCustomCode2' ) ) { parse_str( $npay_order->ProductOrder->MerchantCustomCode2, $params ); /** $params 배열에 mnp_custom_order_data 필터로 추가한 값들이 저장됩니다. */ } } }
mnp_before_checkout_cart, mnp_after_checkout_cart #
-
설명 #
장바구니 화면에서 네이버페이 구매 버튼 클릭 시 호출됩니다.
장바구니 아이템에 대한 검증 및 추가 처리가 필요한 경우 이용할 수 있습니다. -
사용 방법 #
add_action( 'mnp_before_checkout_cart', 'my_mnp_before_checkout_cart'); add_action( 'mnp_after_checkout_cart', 'my_mnp_after_checkout_cart');
-
예제 #
add_action( 'mnp_before_checkout_cart', 'my_mnp_before_checkout_cart' ); function my_mnp_before_checkout_cart() { $cart_items = WC()->cart->get_cart(); /** Do something.... */ } add_action( 'mnp_after_checkout_cart', 'my_mnp_after_checkout_cart' ); function my_mnp_after_checkout_cart() { $cart_items = WC()->cart->get_cart(); /** Do something.... */ }
mnp_order_status_for_processing #
-
설명 #
네이버페이에서 결제 후 주문 상태를 변경할 수 있습니다.
-
사용 방법 #
add_filter( 'mnp_order_status_for_processing', 'change_mnp_order_status_for_processing', 10, 2 );
-
예제 #
function change_mnp_order_status_for_processing( $order_status, $order ) { // 변경할 주문상태를 지정합니다. return 'order-received'; } add_filter( 'mnp_order_status_for_processing', 'change_mnp_order_status_for_processing', 10, 2 );