반응형
워드프레스와 woocommerce가 포함된 체크아웃 페이지에서만 1개 국가에 한정
워드프레스와 우코머스를 사용하고 있습니다.체크아웃 페이지에서 한 국가만 제한하려면 어떻게 해야 하나요?호주라고 해.
안녕하세요 플러그인 설정으로 한 국가만 제한할 수 있습니다.
Woocommerce -> Settings -> General 탭에서 찾을 수 있습니다.
훅으로 수업을 무시하면
function woo_override_checkout_fields_billing( $fields ) {
$fields['billing']['billing_country'] = array(
'type' => 'select',
'label' => __('My New Country List', 'woocommerce'),
'options' => array('AU' => 'Australia')
);
return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'woo_override_checkout_fields_billing' );
function woo_override_checkout_fields_shipping( $fields ) {
$fields['shipping']['shipping_country'] = array(
'type' => 'select',
'label' => __('My New Country List', 'woocommerce'),
'options' => array('AU' => 'Australia')
);
return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'woo_override_checkout_fields_shipping' );
이렇게 하면 드롭다운에 하나의 국가만 표시됩니다.이 코드를 함수에 추가합니다.php를 테마로 합니다.
또, 복수의 나라에 판매하고 싶은 경우도 있습니다만, 유저가 접속하고 있는 나라(IP 주소로부터 위치)만을 표시하고 싶은 경우도 있습니다.따라서 프랑스 사용자는 국가 드롭다운에 프랑스만 표시되고 호주 사용자는 국가 드롭다운에 호주만 표시됩니다.코드는 다음과 같습니다.
/**
* @param array $countries
* @return array
*/
function custom_update_allowed_countries( $countries ) {
// Only on frontend
if( is_admin() ) return $countries;
if( class_exists( 'WC_Geolocation' ) ) {
$location = WC_Geolocation::geolocate_ip();
if ( isset( $location['country'] ) ) {
$countryCode = $location['country'];
} else {
// If there is no country, then return allowed countries
return $countries;
}
} else {
// If you can't geolocate user country by IP, then return allowed countries
return $countries;
}
// If everything went ok then I filter user country in the allowed countries array
$user_country_code_array = array( $countryCode );
$intersect_countries = array_intersect_key( $countries, array_flip( $user_country_code_array ) );
return $intersect_countries;
}
add_filter( 'woocommerce_countries_allowed_countries', 'custom_update_allowed_countries', 30, 1 );
언급URL : https://stackoverflow.com/questions/45385808/strict-to-1-country-only-in-checkout-page-with-wordpress-and-woocommerce
반응형
'sourcecode' 카테고리의 다른 글
커밋 메시지에서 "CL"은 무엇을 의미합니까?그것은 무엇을 나타냅니까? (0) | 2023.03.20 |
---|---|
StackOverflow의 '태그' 텍스트박스는 어떻게 자동 완성됩니까? (0) | 2023.03.20 |
재료-ui 자기완성 투명값 (0) | 2023.03.20 |
특정 문자로 시작하는 항목을 쿼리하려면 어떻게 해야 합니까? (0) | 2023.03.20 |
수집 개체가 PyMongo에서 호출할 수 없는 오류입니다. (0) | 2023.03.20 |