특정 상품에 대해서 상품구매시 배송구역 옵션을 지정 할수있는 방법이 없을까요?
다음 코드를 응용하면 가능할것으로 보이는데 아래코드는 아이에 픽업만 보여주는데
배송구역 추가하여 서로 다른 배송구역명을 가지고 있는 것중 기본 옵션은 가장 상위로 하고 어떠한 특정 상품만 하위의 배송구역명의 옵션으로 할수있을까요?
add_action( 'woocommerce_package_rates','show_hide_local_pickup_shipping_methods', 10, 2 );
function show_hide_local_pickup_shipping_methods( $rates, $package ) {
// HERE BELOW your product categories in the array
$categories = array( 't-shirts', 'hat' );
$term_found = false;
// Loop through cart items
foreach( $package['contents'] as $cart_item ){
if( has_term( $categories, 'product_cat', $cart_item['product_id'] ) ) {
$term_found = true;
break;
}
}
// Loop through shipping methods
foreach( $rates as $rate_key => $rate ) {
if( 'local_pickup' === $rate->method_id && ! $term_found ) {
unset($rates[$rate_key]);
}
}
return $rates;
}
이방법은 알려주시기 전에 시도해봤었는데 되지않아서 바로 답변 남겼었습니다...
특정 상품의 가격이 문제가 아닌 배송 옵션선택되(배송구역)는 것을 2개로 해두고 그 각각안에
하나는 "배송 옵션에 택배배송, 픽업, 등등" 을 설정하고 다른 하나의 배송구역 의 옵션안에는 "픽업 가능한 곳여러개"를 넣어두었습니다.
2개의 안의 옵션이 다르고 특정상품에서는 첫번째의 배송설정이아닌
2번째 만든것(픽업장소들만 들어있는것)으로만 띄우고 싶어 문의를 드린부분이였습니다...
단순한 내용인데 글로 설명하기가 어렵군요... 아무튼 도움을 주셔서 감사합니다.
각 상품별로 배송비를 다르게 설정하는 건
이전 댓글에 안내해드린 배송 클래스 관련 링크를 참고해보시면 가능할 듯합니다.
시도해보시겠어요?
고맙습니다.
음 여러개의 상품중에 특정 1개의 상품을 주문시 나오는 배송방법만 다르게 하고싶습니다.
위 그림처럼 설정에서 제가 만든 배송구역이 2개인데 둘중 하나만 선택되어 나오는데
기본은 가장 위의 설정이 "대한민국 천안시" 의 배송 옵션만 나옵니다.
기본적으로 설정된 상품들중에 특정 1개의 상품만 아래 "천안아이템"으로 저장해둔 배송방법들만 표기할수있을까 하여 남겨봅니다.
안녕하세요~^^
질문의 내용이 정확히 이해가 가지 않습니다.
상품 별로 배송료를 지정하고 싶다는 말씀이신지요?
아래 링크가 도움이 되는지 확인해보시겠어요?
고맙습니다.