WooCommerce에서 특정 상태를 차단하는 방법

게시 됨: 2019-07-11

판매할 것이 있지만 물류, 법적 또는 기타 이유로 국가의 모든 주에 판매하고 싶지 않습니까?

음, 이러한 시나리오에서는 WooCommerce의 특정 상태를 차단할 수 있습니다.

WooCommerce에서 특정 상태 차단

판매하는 국가의 일부 주를 차단, 제한 또는 허용하는 방법을 설명하겠습니다.

아래 코드는 미국의 전체 주 목록을 보여줍니다.

이제 특정 주에서 판매를 차단하려면 판매를 원하지 않는 주를 삭제해야 합니다.

즉, 목록을 만드는 것은 판매하는 주로만 구성됩니다. 간단하게...

 /** * Sell only in specific states * Remove the states not eligible to purchase * Final list is of states that CAN purchase */ add_filter( 'woocommerce_states', 'wpglorify_restrict_states' ); function wpglorify_restrict_states( $states ) { $states['US'] = array( 'AL' => __( 'Alabama', 'woocommerce' ), 'AK' => __( 'Alaska', 'woocommerce' ), 'AZ' => __( 'Arizona', 'woocommerce' ), 'AR' => __( 'Arkansas', 'woocommerce' ), 'CA' => __( 'California', 'woocommerce' ), 'CO' => __( 'Colorado', 'woocommerce' ), 'CT' => __( 'Connecticut', 'woocommerce' ), 'DE' => __( 'Delaware', 'woocommerce' ), 'DC' => __( 'District Of Columbia', 'woocommerce' ), 'FL' => __( 'Florida', 'woocommerce' ), 'GA' => _x( 'Georgia', 'US state of Georgia', 'woocommerce' ), 'HI' => __( 'Hawaii', 'woocommerce' ), 'ID' => __( 'Idaho', 'woocommerce' ), 'IL' => __( 'Illinois', 'woocommerce' ), 'IN' => __( 'Indiana', 'woocommerce' ), 'IA' => __( 'Iowa', 'woocommerce' ), 'KS' => __( 'Kansas', 'woocommerce' ), 'KY' => __( 'Kentucky', 'woocommerce' ), 'LA' => __( 'Louisiana', 'woocommerce' ), 'ME' => __( 'Maine', 'woocommerce' ), 'MD' => __( 'Maryland', 'woocommerce' ), 'MA' => __( 'Massachusetts', 'woocommerce' ), 'MI' => __( 'Michigan', 'woocommerce' ), 'MN' => __( 'Minnesota', 'woocommerce' ), 'MS' => __( 'Mississippi', 'woocommerce' ), 'MO' => __( 'Missouri', 'woocommerce' ), 'MT' => __( 'Montana', 'woocommerce' ), 'NE' => __( 'Nebraska', 'woocommerce' ), 'NV' => __( 'Nevada', 'woocommerce' ), 'NH' => __( 'New Hampshire', 'woocommerce' ), 'NJ' => __( 'New Jersey', 'woocommerce' ), 'NM' => __( 'New Mexico', 'woocommerce' ), 'NY' => __( 'New York', 'woocommerce' ), 'NC' => __( 'North Carolina', 'woocommerce' ), 'ND' => __( 'North Dakota', 'woocommerce' ), 'OH' => __( 'Ohio', 'woocommerce' ), 'OK' => __( 'Oklahoma', 'woocommerce' ), 'OR' => __( 'Oregon', 'woocommerce' ), 'PA' => __( 'Pennsylvania', 'woocommerce' ), 'RI' => __( 'Rhode Island', 'woocommerce' ), 'SC' => __( 'South Carolina', 'woocommerce' ), 'SD' => __( 'South Dakota', 'woocommerce' ), 'TN' => __( 'Tennessee', 'woocommerce' ), 'TX' => __( 'Texas', 'woocommerce' ), 'UT' => __( 'Utah', 'woocommerce' ), 'VT' => __( 'Vermont', 'woocommerce' ), 'VA' => __( 'Virginia', 'woocommerce' ), 'WA' => __( 'Washington', 'woocommerce' ), 'WV' => __( 'West Virginia', 'woocommerce' ), 'WI' => __( 'Wisconsin', 'woocommerce' ), 'WY' => __( 'Wyoming', 'woocommerce' ), 'AA' => __( 'Armed Forces (AA)', 'woocommerce' ), 'AE' => __( 'Armed Forces (AE)', 'woocommerce' ), 'AP' => __( 'Armed Forces (AP)', 'woocommerce' ), 'AS' => __( 'American Samoa', 'woocommerce' ), 'GU' => __( 'Guam', 'woocommerce' ), 'MP' => __( 'Northern Mariana Islands', 'woocommerce' ), 'PR' => __( 'Puerto Rico', 'woocommerce' ), 'UM' => __( 'US Minor Outlying Islands', 'woocommerce' ), 'VI' => __( 'US Virgin Islands', 'woocommerce' ), ); return $states; }

한 주에만 판매

위 코드의 예입니다. 귀하가 신선한 농산물을 판매하고 있으며 귀하의 본국에만 판매하기를 원한다고 가정해 보겠습니다.

과일, 야채와 같은 신선한 농산물을 판매하고 있으며 전국에 배송할 적절한 배송 시스템이 없기 때문입니다.

이 예에서 캘리포니아 주 출신이라고 가정해 보겠습니다. 아래 코드를 사용하면 캘리포니아를 제외한 다른 모든 주를 제거할 수 있습니다.

 // Only one state. example California in the US add_filter( 'woocommerce_states', 'wpglorify_restrict_states' ); function wpglorify_restrict_states( $states ) { $states['US'] = array( 'CA' => __( 'California', 'woocommerce' ), ); return $states; }

이제 고객이 결제 페이지로 이동하면 주소 드롭다운 옵션에 캘리포니아만 표시되고 다른 주는 표시되지 않습니다.


다른 국가의 국가 제한

이 솔루션은 미국에만 해당되는 것이 아닙니다. 어느 국가 출신이든 관계없이 국가 및 주 이름과 코드만 교체하면 됩니다.

다음은 호주의 예입니다.

 /** * list of Australian states to sell */ add_filter( 'woocommerce_states', 'wpglorify_restrict_states' ); function wpglorify_restrict_states( $states ) { $states['AU'] = array( 'ACT' => __( 'Australian Capital Territory', 'woocommerce' ), 'NSW' => __( 'New South Wales', 'woocommerce' ), 'NT' => __( 'Northern Territory', 'woocommerce' ), 'QLD' => __( 'Queensland', 'woocommerce' ), 'SA' => __( 'South Australia', 'woocommerce' ), 'TAS' => __( 'Tasmania', 'woocommerce' ), 'VIC' => __( 'Victoria', 'woocommerce' ), 'WA' => __( 'Western Australia', 'woocommerce' ), ); return $states; }

나는 거의 모든 국가 코드 목록을 편집했으며 여기에서 국가 및 주 코드를 찾을 수 있도록 일부 국가의 주도 포함했습니다.

PHP 코드를 추가하는 방법

코드 조각 플러그인을 사용하면 웹사이트에 PHP 조각을 추가하는 것뿐만 아니라 추가하는 모든 조각을 관리하기가 매우 쉽습니다.

특정 스니펫을 활성화 및 비활성화하고 수행하는 작업에 대한 메모를 추가할 수도 있습니다. PHP 오류 시나리오를 피하기 위해 더 나은 오류 처리 기능이 있습니다.

설치하려면 플러그인 > 새로 추가 로 이동하여 코드 조각 을 검색하십시오.

테마에 PHP 스니펫을 추가하는 전통적이거나 일반적인 방법은 테마의 functions.php 파일에 직접 추가하는 것입니다.

그러나 하위 테마를 사용하고 있는지 확인하십시오. 그렇지 않으면 테마를 업데이트하면 모든 변경 사항을 잃게 됩니다.