최근에 워드프레스 최고의 쇼핑몰 플러그인인 우커머스가 2.6버전대로 업그레이드 되면서 배송과 관련된 새로운 기능을 추가하였다. 배송 지역(Shipping Zones) 설정이 그것이다. 이 기능은 배송 방법이나 비용이 차별화 되야 하는 지역을 분류하여 각각 설정하도록 하고, 배송지가 해당지역으로 인식될 경우 설정에 따라 비용을 청구하는 시스템이다. 이전 우커머스의 배송설정기능을 월등하게 확장 해 주었고, 이 기능을 통해 한국에서도 더이상의 추가 플러그인 없이 기본적인 배송설정이 가능하게 되었다.

아래에서 이 배송 지역(Shipping Zones) 설정을 이용해 구현하려하는 기본 구조는 다음과 같다.
30,000원 이상 구매시에는 무료 배송이고, 30,000이하 구매시에는 2,500원의 배송료를 청구한다. 단, 제주지역은 추가로 3,000을 더 청구하고(합 5,500원), 도서/산간 지역은 4,000원을 더 청구(합 6,500원)한다.

*해당 도서/산간 지역은 오픈마켓인 G마켓의 배송비 설정에 해당하는 지역을 기준으로 작성하였다.
*아래 글에서 기술하는 지역설정과 비용의 설정은 작성자가 임의로 변경할수 있다.

관리자 메뉴 – 플러그인 -우커머스 의 버전확인
우커머스 플러그인 버전확인하는 방법

1.주소입력 플러그인 설치

배송지역에 따른 배송비를 차별화 하려면 배송주소를 인식할수 있어야 한다.
한국의 새로운 주소체계에 따른 우편번호를 인식할수 있도록, 우선 한국 주소 입력 플러그인을 설치 해야 한다.
가장 사용하기 편리한 플러그인으로 WooShipping – Postcode KRBeomps Korea Postcode Search 플러그인 중 하나를 선택하면 된다. 여기서는 WooShipping – Postcode KR 플러그인을 사용하겠다.

이 플러그인을 설치하면 곧바로 우커머스 결제단에서 한국 주소를 입력할수 있게 되고, “우커머스-설정-배송-배송옵션”에 몇가지 설정을 할수 있는 옵션들도 볼수 있다.(아래 그림)

워드프레스 우커머스 배송 지역(Shipping Zones) 설정_01

* 결제화면에서 모든 항목이 입력되었음에도 정보가 빠졌다는 에러 발생시
사용중인 차일드 테마의 functions.php 파일의 가장 아랫부분에 아래의 코드를 넣습니다.

add_filter( 'woocommerce_checkout_fields' , 'alter_woocommerce_checkout_fields' );
function alter_woocommerce_checkout_fields( $fields ) {
       unset($fields['billing']['billing_last_name']); 
       unset($fields['billing']['billing_city']); 
       unset($fields['shipping']['shipping_last_name']);
       unset($fields['shipping']['shipping_city']);
   return $fields;
}

2.제주도 지역 설정

본격적으로 배송 지역(Shipping Zones)을 설정하기 위해서 “우커머스-설정-배송-Shipping Zones(배송 지역)”으로 가면, 아래와 같은 화면을 볼수 있다. “배송 zone 추가” 버튼을 누른다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_02

첫 칸인 “지역이름”에 “제주도 지역” 이라고 이름을 붙이고(편한 대로 입력해도 된다.), “선택 지역”에 “South Korea(한국)”을 선택한후 오른쪽 하단의 “우편번호로 지정하기”를 누른다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_03

나타나는 칸에 아래의 그림과 같이 “63000…63644” 라고 입력한다. 해당 숫자는 현재 우리나라의 우편번호 체계로 제주도 전지역(63000~63644)에 해당한다. 점이 세개 인것은 앞번호에서 뒷번호 까지라는 뜻이다. 직관적으로 알수 있듯이 제주도 지역 중에서도 차별화가 필요하다면(마라도나 우도 등과 같이 더 먼곳) 해당 지역의 우편번호만 따로 분기하면 된다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_04

3.도서 산간 지역 설정

오른쪽 하단의 “배송 Zone 추가”를 누르고, 나타나는 새로운 필드에 “도서산간지역” 이라고 입력하고,선택지역에 제주도 설정시와 마찬가지로 “한국”을 선택한후 “우편번호로 지정하기”를 눌러 나타나는 필드에 아래의 값을 복사하여 입력한다. 아래의 우편번호는 현재 G마켓에서 사용하고 있는 도서산간 지역으로 분류하는 우편번호이다(엑셀파일이 필요하다면 클릭). 원하는 지역을 검색하여 추가하거나 삭제할수 있다.

22386...22388
23004...23010
23100...23116
23124...23136
31700
31708
32133
33411
40200...40240
52570...52571
53031...53033
53089...53104
54000
56347...56349
57068...57069
58760...58762
58800...58806
58809...58810
58816...58818
58826
58828...58866
58953...58958
59102...59103
59106
59127
59129
59137...59145
59149...59166
59421
59531
59551
59563
59568
59650
59766
59781...59790

워드프레스 우커머스 배송 지역(Shipping Zones) 설정_05

4.한국의 나머지 지역 설정

오른쪽 하단의 “배송 Zone 추가”를 누르고, 나타나는 새로운 필드에 “한국 기본 배송 지역” 이라고 입력하고,선택지역에 “한국”을 선택한후 하단의 “변경 사항 저장”을 누른다.

워드프레스 우커머스 배송 지역(Shipping Zones) 설정_06

5.제주도 지역 배송 방법 설정

여기까지 설정하게 되면 배송 지역(Shipping Zones) 설정은 끝이 났고, 아래의 그림과 같이 된다. 이제부터 각 배송지역에 배송방법(방법과 비용)을 추가 하면 된다. 먼저 그림에서 보이듯이 오른쪽 끝에 “+”아이콘을 누른다.

woocommerce-shipping-zones-setting_07

나타나는 화면에서 “고정요금”을 선택한후 “배송 방법 추가” 버튼을 누른다. 그리고 한번더 “+” 아이콘을 눌러 이번에는 “무료 배송”을 추가한다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_08

워드프레스 우커머스 배송 지역(Shipping Zones) 설정_09

다음과 같은 화면이 되고, 이제 “고정요금” 버튼을 눌러 제주도 지역일 경우 배송비를 설정한다.
 워드프레스 우커머스 배송 지역(Shipping Zones) 설정_10

이 글의 서두에서 가정한 것처럼, 제주도 지역에서 30,000원 미만의 구매가 될 경우에는 5,500원의 배송료를 청구할 것이므로 아래의 그림과 같이 설정하고 저장한다.(방법 제목은 결제시 구매자의 화면에 나타나므로 적당하게 변경해 주는 것이 좋다.)
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_11

두번째로 제주도 지역의 “무료배송” 을 클릭해서 아래와 같이 설정한다. 30,000원 이상의 구매가 될경우 무료로 배송하는 조건을 설정한 것이다. (만약 제주도 지역에서 무료가 되는 조건을 변경하고 싶다면 여기서 조정 하면된다.)
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_12

6.도서산간 지역 배송 방법 설정

제주도 지역의 설정은 모두 끝이 났으므로 , 도서/산간 지역의 배송 방법을 설정하기 위해 오른쪽의 “+”아이콘을 클릭하고, “5.제주도 지역의 배송방법” 과 마찬가지로 “고정요금”과 “무료 배송”을 추가한다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_13
“고정요금” 설정을 제외하고(아래그림) “무료 배송” 설정은 제주도 지역 배송방법과 똑같이 설정하면 된다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_14

7.한국의 나머지 지역 배송 방법 설정

제주도와 도서/산간 등 특수한 지역에 대한 설정이 모두 끝났고, 이제 나머지 “한국 기본 배송 지역” 에 대한 배송방법(방법과 비용)을 설정하기 위해 오른쪽의 “+”아이콘을 클릭한다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_15

앞서 설정한 두 지역과 마찬가지로 “무료 배송”과 “고정 요금” 배송방법을 추가한다. “무료 배송” 방법은 제주지역과 도서/산간 지역 에서 설정한 것과 같고, “고정 요금” 배송 방법만 아래와 같이 설정한다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_16

모든 배송 지역(Shipping Zones) 설정이 끝났다.
다음과 같은 그림이 될것이다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_17

8.마무리

이제 부터 상품 구매 가격과 구매자가 입력하는 배송 주소지에 따라서 다른 배송비가 청구 되게 된다.(아래그림)
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_20

그런데 한가지 아쉬운 것이 있는데 아래의 그림처럼 30,000원 이상 구매하는 고객에게 나타나는 화면에서 두개의 배송 방법이 모두 표시된다는 것이다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_18

다양한 배송방법을 제공해서 배송 기간과 방법,비용 등을 비교해 구매 고객이 선택할수 있도록 하는 미국 쇼핑몰의 특성 때문인지… 우커머스는 굳이 가장 낮은 가격의 배송방법만을 표시하거나, 무료 배송에 해당될 경우 다른 배송방법을 감추는 옵션이 아직 존재 하지 않는다.

이것을 한국의 특성에 맞게 (무료 배송 해당시 다른 배송방법은 감추기)하기 위해서 아래의 코드를 차일드 테마의 functions.php 파일에 붙여 넣기한다.

//무료 배송 해당시 다른 배송방법은 감추기
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 );

이제부터 무료 배송에 해당될 경우 ,아래의 그림처럼 고정 비용 표시가 사라지게 된다.
워드프레스 우커머스 배송 지역(Shipping Zones) 설정_19

9.마치며

새로운 배송 지역(Shipping Zones) 설정으로 한국에서 사용할수 있는 배송비 설정을 해 보았다. 위에서 기술한 것보다 훨씬 더 상세하게 한국에서 사용할수 있는 배송비 설정도 가능하고, 여기에 “배송 클래스” 기능(상품의 크기, 중량 등을 고려해 기본 배송과 다르게 상품별로 적용)까지 추가해서 사용한다면, 배송에 관한 모든 설정이 자유로와 진다. 또 이 배송 지역(Shipping Zones) 설정으로 해외 국가별, 해외 국가의 각 도시별로도 세세하게 배송방법과 비용을 설정할수 있다.

참조

이 글에서 사용한 우커머스 한글화 파일을 다운받고 싶다면- wpbox.kr 에서 사용하는 우커머스 한글 번역 파일
워드프레스를 제대로 배워보고 싶다면 – 워드프레스 기본 동영상 강의 – Wpbox Basic
우커머스 2.5 이하 버전에서 사용할수 있는 배송방법을 알고 싶다면 – 워드프레스 우커머스 쇼핑몰 플러그인 한국형 배송 설정 정리
[fusion_separator style_type=”none” top_margin=”40″ bottom_margin=”40″ sep_color=”” border_size=”” icon=”” icon_circle=”” icon_circle_color=”” width=”” alignment=”center” class=”” id=””/]

글쓴이 :
WPBOX.KR 운영자
AVADA.KR 운영자
EnnioLove.com 운영자
Facebook
everygofine@gmail.com
인기글
구글맵 API 설정 후에도 “개발 목적”이라고 표시되는 경우
카페24 웹호스팅 보안서버 SSL 인증서 443 포트 사용
워드프레스 차일드테마 설치 Child theme
워드프레스 한국형 게시판_KBoard와 MangBoard
레볼루션 슬라이더 버전 4.X 사용법
Yoast seo 플러그 사용법 (1.General)
인스타그램 Access Token 과 UserID 가져오는 방법
MAMP 사용기(내 컴퓨터에 로컬서버 구축하기)
사용자 정의 필드와 ACF (Advanced Custom Fields) 플러그인
워드프레스에서 글과 페이지의 차이

20개의 댓글이 있습니다.

  1. 안녕하세요. 너무 친절한 설명에 말씀하신대로 다 적용이 잘 되었습니다. 감사합니다.
    그런데 마지막 php 구문을 말씀대로 차일드테마 functions.php 파일에 붙여 넣었는데, 작동하지 않습니다.
    왜 그런지 알 수 있을까요?

    1. 혹여 업데이트 이후에 변경된 사항이 있는지…
      방금 테스트 해 보았습니다만
      저는 잘 됩니다.

    1. 얼마전에 내용을 수정하면서 코드에 오류가 있었습니다.
      불편드려 미안합니다.

      코드를 수정 했으니 이제는 잘 될겁니다. ^^;;

    1. php 는 추가 코드 이기 때문에 나중에 테마를 업데이트 해도 유지 될수 있도록 차일드 테마에 붙여 넣기 하라는 뜻입니다.
      (본테마에서는 안되고 차일드에서만 되는 코드는 없습니다.)
      다른 테마에서도 가능합니다.

  2. 안녕하세요. 정말 워드프레스 사이트 만드는데 많은 도움이 되고 있습니다.
    항상 감사하게 생각합니다. ^^
    저는 배송지역에서 배송방법있는데 동그라미안에 + 이모양이 없어서 배송비 설정을 할수가 없는데
    저는 왜 없을까요 ㅠ

    1. 이 글을 쓸 때 보다 우커머스가 더 버전이 올라갔습니다.
      현재는 배송지역 이름을 클릭하면 배송방법을 설정하고 가격을 설정하는 화면이 나타납니다.
      ^^

      1. 앗 그러네요 ㅋㅋ 감사합니다.
        워드프레스롤 홈페이지 만드는일을 하는데 어려움이 많은데 이 사이트가 정말 큰힘이 됩니다.
        앞으로도 많이 배우고 가겠습니다 감사합니다 ^^

  3. 안녕하세요~!

    배송존 설정을 했는데, 제주도나 도서산간지역 설정을 해도 기본배송료 2500원으로 나오는경우는
    어떻게 해결하면 좋을까요?

  4. 좋은 정보 정말 감사드립니다. 한가지 궁금한 점이 있어서 여쭤봅니다. 제 사이트의 경우 청구주소를 먼저 적고, 청구주소와 배송주소가 다를 경우만 배송주소를 입력하도록 하였습니다. 대부분의 경우 동일하기에 청구주소만 작성합니다.

    이때, 제주도 도서산간 지역 등등을 제가 Shipping Zone에 해놓았더라도, 청구주소만 작성하기 때문에 적용되지 않는다는 것을 발견하였습니다.

    이를 어떻게 하면 해결할 수 있을까요?

    Woocommerce setting에서 “배송지를 청구주소로 하기” 를 설정하여도 먹히지 않습니다.ㅠㅠ

    정말 죄송합니다만 꼭 답변해주시면 감사하겠습니다 ㅠㅠ

    감사합니다.

  5. (초보주의)안녕하세요. 현재 부모테마를 활성화하면서 템플릿 변경을 제외한 functions.php을 수정시에 필요한걸 만들어 놓은 자식테마에서 수정하고 있습니다. 이 부분은 문제가 되지 않겠죠?(부모테마를 활성화시킨 상태에서도 자식테마php인식o)
    업뎃할때 보안이나 문제가 없겠죠?/ 전 템플릿변경을 안하는 이유가 테마 업뎃시 전부 사라진다고 하더라구요.이상 초보였습니다.. 답변 부탁드려요..!

  6. 여기서 많은 도움을 받고 있습니다.

    배송비 설정도 여기서 도움을 받았는데요. 제주도 추가배송비 문제로 문의를 드립니다.

    제주도 배송의 경우,
    -3만원 미만 구매고객은 3,000원(기본배송비)+3,000원(추가배송비)
    -3만원 이상 구매고객은 3,000원(추가배송비)
    로 배송비를 부과 하려면 어떻게 하면 좋을까요?

    도움 부탁드립니다.

  7. 해외배송비 설정에 대해서도 궁금합니다.
    국가별, 중량별 배송비 설정은 어떻게 하는지 자세히 알고 싶습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다