WooCommerce에서 주문 상태를 숨기는 방법

게시 됨: 2020-11-12

WooCommerce 숨기기 주문 상태 WooCommerce 스토어에서 핵심 주문 상태를 숨기시겠습니까? 최근에 고객이 WooCommerce 스토어에서 일부 주문 상태를 숨기기를 원했습니다. 이 게시물에서는 일부 주문 상태를 쉽게 제거하는 방법과 사용자 지정 상태를 만드는 방법을 볼 수 있습니다.

WooCommerce 숨기기 주문 상태

여러 가지 이유로 핵심 주문 상태 중 일부를 숨기고 싶을 수 있습니다. 그러나 WooCommerce의 기본 버전을 사용하면 완료, 처리 중, 결제 보류, 보류, 환불됨, 취소됨 또는 실패 상태 중 하나로 주문을 표시할 수 있습니다.

많은 플러그인을 사용하여 주문 상태를 관리할 수 있으며 그 중 하나가 49달러에 판매되는 ' WooCommerce Order Status Manager ' 플러그인입니다. WooCommerce 주문 상태 관리자

이것은 상점에 비용이 많이 드는 솔루션일 수 있지만 이를 수행하는 쉬운 방법이 있습니다. 현재 버전의 WooCommerce에서 주문 상태는 초안, 예약 또는 게시물 게시와 마찬가지로 사용자 지정 게시물 상태로 저장됩니다.

주문 상태를 숨기는 방법

즉, 코드 스니펫을 사용하여 WooCommerce에서 주문 상태를 숨기는 방법을 살펴보겠습니다. 기본 주문 상태 메시지를 확인하려면 WordPress 사이트에 로그인하고 관리자로 대시보드에 액세스합니다. 그런 다음 WooCommerce > 주문 을 클릭합니다. 다음 내용이 표시됩니다. 주문 상태 백엔드

이러한 메시지는 고객이 주문을 시도할 때 프런트 엔드에도 표시됩니다. 이것은 아래와 같이 내 계정 > 주문 을 클릭하여 액세스할 수 있습니다. 주문 상태 프런트 엔드

핵심 주문 상태를 숨기는 단계

핵심 주문 상태를 숨길 때 해당 상태의 제품이 없는지 확인해야 합니다. 또한 WooCommerce 상점은 오류가 발생할 수 있으므로 해당 상태를 어디에도 사용하지 않는지 확인해야 합니다. 예를 들어 WooCommerce 스토어에서 환불할 계획이 없다면 환불 상태를 숨길 수 있습니다.

모든 핵심 주문 상태를 제거할 수 없는 이유는 플러그인이 워크플로에서 사용하지 않는 주문 상태를 포함하여 주문 상태를 사용하기 때문입니다. 지불 게이트웨이와 같은 플러그인은 항상 핵심 주문 상태가 있다고 가정합니다. 그들이 없으면 부서질 것입니다.

따라야 할 단계는 다음과 같습니다.

  1. WordPress 사이트에 로그인하고 관리자로 대시보드 에 액세스합니다.
  2. 대시보드 메뉴에서 모양 메뉴 > 테마 편집기 메뉴 를 클릭합니다. 테마 편집기 페이지가 열리면 테마 기능 파일을 찾아 WooCommerce 스토어에서 핵심 주문 상태를 숨기는 기능을 추가하십시오.
  3. functions.php 파일에 다음 코드를 추가합니다.
 /*

 * 핵심 주문 상태 제거

 * @param array $wc_statuses_arr 웹사이트의 모든 주문 상태 배열

 */

기능 njengah_remove_order_statuses( $wc_statuses_arr ){

            // 처리

            if( isset( $wc_statuses_arr['wc-processing'] ) ) { // 존재하는 경우

                        unset( $wc_statuses_arr['wc-processing'] ); // 배열에서 제거

            }

            // 환불됨

            if( isset( $wc_statuses_arr['wc-refunded'] ) ){

                        unset( $wc_statuses_arr['wc-refunded'] );

            }

            // 보류

            if( isset( $wc_statuses_arr['wc-on-hold'] ) ){

                        unset( $wc_statuses_arr['wc-on-hold'] );

            }

            // 실패

            if( isset( $wc_statuses_arr['wc-실패'] ) ){

                        unset( $wc_statuses_arr['wc-실패'] );

            }

            // 결제 대기 중

            if( isset( $wc_statuses_arr['wc-pending'] ) ){

                        unset( $wc_statuses_arr['wc-pending'] );

            }

            // 완전한

            //if( isset( $wc_statuses_arr['wc-완료'] ) ){

            // unset( $wc_statuses_arr['wc-completed'] );

            //}

            // 취소 된

            //if( isset( $wc_statuses_arr['wc-cancelled'] ) ){

            // unset( $wc_statuses_arr['wc-cancelled'] );

            //}

            $wc_statuses_arr 반환; // 결과 상태 반환

}

add_filter( 'wc_order_statuses', 'njengah_remove_order_statuses' );
  1. 프론트 엔드의 결과는 다음과 같습니다. 주문 상태 숨기기
  2. 사용자 지정 주문 상태를 추가하려면 functions.php 파일에 다음 코드를 추가하세요.
 /**

* ID가 "wc-njengah-shipment"이고 레이블이 "배송 대기 중"인 새 상태를 등록합니다.

*/

기능 njengah_register_awaiting_shipment_status() {
register_post_status( 'wc-njengah-shipment', 배열(

'라벨' => '배송 대기 중',

'공개' => 참,

'show_in_admin_status_list' => true, // 전체 개수 표시(12) , 완료됨(9) , 배송 대기 중(2) ...

'label_count' => _n_noop( '배송 대기 중 <span class="count">(%s)</span>', '배송 대기 중 <span class="count">(%s)</span>' )

) );
}

add_action( '초기화', 'njengah_register_awaiting_shipment_status' );

/*

* WC 주문 상태 목록에 등록 상태 추가

* @param array $wc_statuses_arr 웹사이트의 모든 주문 상태 배열

*/

기능 njengah_add_status( $wc_statuses_arr ) {
$new_statuses_arr = 배열();

// 처리 후 새 주문 상태 추가

foreach ( $wc_statuses_arr as $id => $label ) {

$new_statuses_arr[ $id ] = $label;

if ( 'wc-completed' === $id ) { // "완료" 상태 이후

$new_statuses_arr['wc-njengah-shipment'] = '배송 대기 중';

}

}
$new_statuses_arr 반환;

// 주문 상태 순서가 중요하지 않은 경우 21-32행을 제거하고 다음 35-36의 주석을 제거할 수 있습니다.

// $wc_statuses_arr['wc-njengah-shipment'] = '배송 대기 중';

// $wc_statuses_arr 반환;
}

add_filter( 'wc_order_status', 'njengah_add_status' );
  1. 결과는 다음과 같습니다. 맞춤 주문 상태 추가

결론

이 게시물에서 핵심 주문 상태를 숨기는 방법을 살펴보았습니다. 그러나 삭제하려는 주문 상태는 오류로 이어질 수 있으므로 스토어의 어느 곳에서도 사용되지 않는다는 점에 유의하는 것이 중요합니다. 또한 사용자 지정 주문 상태를 추가하는 방법을 공유했습니다. 코드 처리에 익숙하지 않은 경우 자격을 갖춘 WordPress 개발자에게 문의하십시오.

유사한 기사