2017-09-05 10 views
1

일반적으로 WooCommerce에서 제출 된 주문은 결제가 완료되면 /order-received/으로 리디렉션됩니다.결제 방법에 따라 WooCommerce에서 수신 한 리디렉션

고객을 특정 결제 수단의 맞춤 페이지로 리디렉션 할 수 있습니까?

Payment method 1 -> /order-received/ 
Payment method 2 -> /custom-page/ 
Payment method 3 -> /order-received/ 

답변

0

조건 기능 is_wc_endpoint_url()를 사용하여 특정 페이지로 고객을 리디렉션 원하는 결제 수단을 대상으로 template_redirect 액션 후크에서 꺾어 사용자 정의 기능으로 :

add_action('template_redirect', 'thankyou_custom_payment_redirect'); 
function thankyou_custom_payment_redirect(){ 
    if (is_wc_endpoint_url('order-received')) { 
     global $wp; 

     // Get the order ID 
     $order_id = intval(str_replace('checkout/order-received/', '', $wp->request)); 

     // Get an instance of the WC_Order object 
     $order = wc_get_order($order_id); 

     // Set HERE your Payment Gateway ID 
     if($order->get_payment_method() == 'cheque'){ 

      // Set HERE your custom URL path 
      wp_redirect(home_url('/custom-page/')); 
     } 
    } 
    exit(); // always exit 
} 
예를 들어

코드는 활성 자녀 테마의 function.php 파일 (또는 나) 또는 모든 플러그인 파일에서.

이 코드는 테스트되었으며 작동합니다.

enter image description here

:

어떻게 지불 게이트웨이 ID (WC 설정> 체크 아웃 )를 얻을 수