우커머스에서 무료배송을 이용할 수 있는 경우에 다른 배송 방법을 숨기는 방법

  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

우커머스에서 여러 가지 배송 방법을 지정하는 경우에 무료배송을 이용할 수 있어도 여러 개의 배송 방법이 함께 표시될 수 있습니다. 이 경우에는 아래의 방법에 따라 무료배송만 표시할 수 있습니다.

먼저 워드프레스에서 배송을 설정하는 방법을 간단히 살펴본 후에 무료배송만 가능한 경우에 다른 배송 방법을 숨기는 방법을 설명하겠습니다.

우커머스에서 배송 설정하기

우커머스에서 배송을 설정하려면 워드프레스 관리자 페이지 > 우커머스 > 배송을 클릭합니다.

그러면 다음과 같이 배송 구역 추가하기 버튼이 있는 화면이 표시됩니다.

워드프레스 무료 배송 지정하기

배송 구역 추가하기(Add shipping zone)를 클릭합니다.

우커머스 무료 배송 설정하기

위와 같은 그림이 표시되면 구역 명(1)에 적절한 이름을 지정하고 구역 포함 지역(2)에 원하는 지역을 선택합니다. 우리나라에 판매되는 상품에만 적용되는 배송 방법을 지정하려는 경우 "대한민국"을 선택합니다.

"배송 방법 추가"를 클릭합니다.

우커머스 배송 방법 설정

고정 요금, 무료배송, 방문 수령 중에서 선택할 수 있습니다.

여기에서는 무료배송을 선택해보겠습니다.

우커머스 무료배송 설정하기

그림과 같이 무료배송이 추가되었습니다. 하지만 특정 조건에 대해서만 무료배송을 추가하기를 원할 수 있습니다. 그런 경우 고정 비용 조건을 추가하고 무료배송을 함께 추가할 수 있을 것입니다. 가령 기본 배송비는 5000원이지만 주문 금액이 10만 원 이상이면 무료배송을 해줄 수 있을 것입니다.

편집을 클릭하여 조건을 지정해주도록 합니다.

무료배송 조건 설정하기

다음과 같은 옵션에서 지정이 가능합니다.

  • 유효한 무료 배송 쿠폰
  • 최저 주문금액
  • 최소 주문 금액 또는 쿠폰
  • 최소 주문 금액 그리고 쿠폰

원하는 옵션을 지정하고 최저 주문 금액을 지정하도록 합니다.

이렇게 설정하고 변경 사항 저장을 클릭하면 무료배송 설정이 완료됩니다.

무료배송을 이용할 수 있는 경우 다른 배송 방법 숨기기

먼저 우커머스 > 상태 > 도구 > 우커머스 임시 데이터 > 임시 데이터 초기화를 클릭하여 우커머스 임시 데이터를 삭제합니다.

이제 다음 코드를 사용 중인 테마의 함수 파일에 추가하도록 합니다. 차일드 테마를 만들어 작업해주세요. 그렇지 않으면 테마가 업데이트될 경우 추가한 코드가 사라지게 됩니다.

/**
* Hide shipping rates when free shipping is available.
* 무료배송이 있는 경우에 다른 배송비를 숨깁니다.
* Updated to support WooCommerce 2.6 Shipping Zones.
*
* @param array $rates Array of rates found for the package.
* @return array
*/
function my_hide_shipping_when_free_is_available( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

FTP에 접속하여 위의 코드를 추가하면 됩니다. 워드프레스에서 FTP 사용법은 여기를 참고해보세요.

마치며 - 2019년 4월 29일 추가

이상으로 우커머스에서 무료 배송을 지정하는 방법과, 무료 배송이 가능한 경우에 다른 배송 방법을 숨기는 방법에 대해 살펴보았습니다.

참고로 '방문 수령'을 선택한 경우에도 이 글에 제시된 코드를 사용하면 '방문 수령'도 표시되지 않습니다. 그런 경우 위의 코드를 수정하여 무료 배송이 가능한 경우 유료 배송 옵션만 숨기도록 변경해주어야 합니다. 이 부분에 대해서는 추후에 다루어보도록 하겠습니다.

상품 그룹별로 배송료를 달리 지정하려는 경우 배송 클래스(Shipping Class)를 사용할 수 있습니다.

참고:



4 개 댓글

  1. 안녕하세요. 답글 감사합니다. 그런데 저는 무료배송일 경우에도 고정 배송비가 표시되네요.
    모두 최신 버전을 사용 중인데요 ㅠ
    이럴 경우 배송비 설정을 잘 못해둔걸까요?

    응답
    • 저는 아바다 테마에서 테스트해보았는데, 최신 아바다 및 우커머스, 워드프레스 버전에서 무료 배송일 때에는 고정 배송비가 표시되지 않았습니다.

      시간이 날 때 다른 테마에서도 한 번 테스트해보겠습니다.

      응답
  2. 무료배송 설정 시 방문 수령 옵션 문제

    와 더불어 위에 주신 내용을 적용할 때 동일하게 오류가 나타나네요. ㅠㅠ

    응답
    • 안녕하세요, kyounakim님.

      저는 테스트를 해보니 오류는 발생하지 않지만, 최신 우커머스 버전에서는 더 이상 이 코드를 사용할 필요가 없는 것 같습니다.

      이 글을 작성할 시점에는 배송비가 고정 배송비, 무료 배송비, 픽업 등 여러 가지 배송 방법이 있을 때, 무료 배송일 경우에도 고정 배송비가 표시되었지만, 이제 테스트해보니 그런 문제가 발생하지 않네요. 최근 Woocommerce 버전에서 무료 배송비가 가능한 경우에 고정 배송비가 표시되는 버그가 수정된 것으로 보입니다.

      응답