WooCommerce에서 주문을 자동 승인하는 방법
게시 됨: 2020-09-25전자 상거래 상점을 운영하는 경우 사이트에서 주문 추적 및 관리가 필요하다는 것을 알고 있습니다. 그러나 이것은 관리자에게 힘든 작업이 될 수 있습니다. 특히 온라인 상점에 트래픽이 많아 하루에 많은 주문이 발생하는 경우에는 더욱 그렇습니다.
또한 체크아웃 프로세스가 완료되는 즉시 주문이 생성된다는 것을 알고 있습니다. 주문은 지불-배송 체인에서 주문의 위치에 따라 상태가 할당됩니다.
또한 주문이 시작된 위치에 따라 WooCommerce, Payment Gateway 및 상점 관리자가 상태를 설정하거나 변경합니다.
사용자가 착불 옵션을 선택하지 않은 경우 주문 결제가 완료된 후. 주문이 완료되면 상점 소유자가 수동으로 "완료"로 변경할 때까지 상태가 "처리 중"으로 설정됩니다. 이것은 상점 소유자나 관리자에게 어려운 작업이 될 것입니다.
주문 자동 승인 WooCommerce
이 간단한 자습서에서는 결제가 성공적으로 이루어질 때마다 주문 상태를 완료됨으로 자동 설정하는 데 도움이 되는 사용자 정의 PHP 코드를 공유하겠습니다. 이는 사용자가 Cash-on-Delivery 옵션을 선택하더라도 주문 상태가 자동으로 완료됨으로 변경됨을 의미합니다.
또한 가상 제품의 WooCommerce 주문 상태를 자동으로 완료로 설정하는 솔루션도 공유하겠습니다. 이러한 제품은 유형적이거나 다운로드할 수 없습니다.
멤버십 가입은 유형이 아닌 만료 날짜가 있을 수 있기 때문입니다. 다운로드 가능한 상품을 취급하는 경우 착불 옵션을 포함하지 않고, 주문에 포함된 모든 상품이 가상인지 확인하는 조건만 추가하면 됩니다.
이제 주문 상태가 설정되는 방법을 알았으므로 다음을 수행하는 방법에 대한 자세한 안내입니다.
- 결제 수단에 따라 WooCommerce 주문 상태를 자동으로 완료로 설정합니다.
- 가상 제품의 경우 WooCommerce 주문 상태를 자동으로 완료로 설정합니다.
a) 결제 수단에 따라 WooCommerce 주문 상태를 완료로 자동 설정하는 단계
따라야 할 간단한 단계는 다음과 같습니다.
- WordPress 사이트에 로그인하고 관리자로 대시보드 에 액세스합니다.
- 대시보드 메뉴에서 모양 메뉴 > 테마 편집기 메뉴 를 클릭합니다. Theme Editor 페이지가 열리면 결제 수단에 따라 자동으로 우커머스 주문 상태를 완료로 설정하는 기능을 추가할 테마 기능 파일을 찾습니다.
- php 파일 에 다음 코드를 추가 합니다.
/** 결제 수단에 따라 우커머스 주문 상태를 자동으로 완료로 설정하는 Snippet */ add_action('woocommerce_order_status_changed', 'njengah_auto_complete_by_payment_method'); 기능 njengah_auto_complete_by_payment_method($order_id) { 만약 ( ! $order_id ) { 반품; } 글로벌 $product; $order = wc_get_order( $order_id ); if ($order->data['상태'] == '처리 중') { $payment_method=$order->get_payment_method(); if ($payment_method!="bacs") { $order->update_status( '완료' ); } } }
- 결과를 보려면 WordPress 대시보드로 이동하여 WooCommerce > 주문 을 클릭하십시오. 아래와 같이 주문이 완료됨으로 설정되었음을 알 수 있습니다.
코드 작동 방식
위의 코드에서는 주문 상태가 변경될 때 함수를 호출하기 위해 woocommerce_order_status_changed 훅을 사용했습니다. 주문이 처리 중 상태인지 확인하고 완료됨으로 변경합니다.
기본적으로 WooCommerce에는 은행 직접 이체(bacs), 수표 지불(수표), 배달 대금 상환(cod) 및 PayPal(PayPal)의 네 가지 기본 지불 방법이 있습니다. 단, 조건을 설정한 결제 수단을 지정해야 합니다.
b) 가상 상품의 WooCommerce 주문 상태를 자동으로 완료로 설정하는 단계
따라야 할 단계는 다음과 같습니다.
- WordPress 사이트에 로그인하고 관리자로 대시보드 에 액세스합니다.
- 대시보드 메뉴에서 모양 메뉴 > 테마 편집기 메뉴 를 클릭합니다. 테마 편집기 페이지가 열리면 가상 제품에 대해 우커머스 주문 상태를 완료로 자동 설정하는 기능을 추가할 테마 기능 파일을 찾으십시오.
- php 파일 에 다음 코드를 추가 합니다.
/** 가상 제품에 대해 자동으로 우커머스 주문 상태를 완료로 설정하는 스니펫 */ add_action('woocommerce_order_status_changed', 'njengah_auto_complete_virtual'); 함수 njengah_auto_complete_virtual($order_id) { 만약 ( ! $order_id ) { 반품; } 글로벌 $product; $order = wc_get_order( $order_id ); if ($order->data['상태'] == '처리 중') { $virtual_order = null; if ( count( $order->get_items() ) > 0 ) { foreach( $order->get_items() as $item ) { if ( 'line_item' == $item['유형'] ) { $_product = $order->get_product_from_item( $item ); if ( ! $_product->is_virtual() ) { // 하나의 비가상 제품을 찾으면 루프에서 빠져 나옵니다. $virtual_order = 거짓; 부서지다; } 또 다른 { $virtual_order = 사실; } } } } // 모두 가상 제품인 경우 완료로 표시 if ( $virtual_order ) { $order->update_status( '완료' ); } } }
- 주문이 자동으로 Completed 로 설정되므로 결과는 첫 번째 예와 동일합니다.
코드 작동 방식
위의 코드에서 동일한 후크를 사용하여 njengah_auto_complete_virtual 함수를 호출했습니다. 처리 상태인지 확인한 후 코드는 각 항목을 순서대로 통과하여 가상 제품이 있는지 확인합니다.
line_item은 상품을 말하며, 상품만 하나씩 가져와야 가상인지 확인한다. 가상 제품이 없으면 주문 상태가 완료로 표시되지 않습니다.
결론
이 간단한 자습서에서는 WooCommerce 주문 상태를 완료됨으로 자동 설정하는 방법을 공유했습니다. 결제수단과 가상상품을 기준으로 해봤습니다.
그러나 상점에 필요한 요구 사항에 따라 첫 번째 코드 조각을 사용하여 주문 상태를 완료로 표시하는 조건을 더 추가할 수 있습니다. 예를 들어 결제가 완료되면 가상 상품인지 확인한 후 결제 수단에 체크를 추가하면 비가상 상품의 경우에도 주문 상태를 완료로 표시할 수 있습니다.
그러나 이 코드 조각을 통해 주문의 모든 제품이 가상 제품인 경우에만 주문 상태가 완료됨으로 설정됩니다. 이 포스트가 WooCommerce에서 자동으로 주문을 승인하는 솔루션이 되었기를 바랍니다.
유사한 기사
- 다운로드 메뉴를 제거하는 방법 내 계정 페이지 WooCommerce
- WooCommerce 결제 양식에 추가 필드를 추가하는 방법
- 다른 주소로 배송 옵션을 비활성화하는 방법
- WooCommerce에서 결제 수단을 얻는 방법 » 코드 예
- WooCommerce에서 장바구니에 추가 버튼을 숨기는 방법
- WooCommerce에서 사용자 정의 배송 방법을 추가하는 방법
- WooCommerce 제품 페이지에서 수량 필드 숨기기 또는 제거
- WooCommerce 제품 속성을 단계별로 사용하는 방법 [전체 가이드]
- 카테고리별로 WooCommerce 제품을 표시하는 방법
- WooCommerce 쿠폰 코드 필드를 숨기는 방법
- WooCommerce 장바구니와 결제를 한 페이지에 두는 방법
- WooCommerce에서 주문 상태 메시지의 이름을 바꾸는 방법
- 제품 이미지를 추가하는 방법 WooCommerce 결제 페이지
- WooCommerce 주문 주석을 필수로 만드는 방법
- WooCommerce 제품에 카테고리를 추가하는 방법
- WooCommerce의 쇼핑 페이지에서 모든 제품을 숨기는 방법
- 특정 범주에 대한 결제 수단을 비활성화하는 방법