source

Woocommerce 체크아웃에 필요한 체크아웃 필드 만들기

gigabyte 2023. 2. 28. 23:34
반응형

Woocommerce 체크아웃에 필요한 체크아웃 필드 만들기

어떤 이유로 청구처 주소의 모든 필드가 선택사항으로 표시되어 있습니다.고객은 청구처 주소 필드를 공백으로 두고 지불이 거부되고 있습니다(당사의 지불처리원인 Square에 의해).

이러한 필드를 필수로 하는 장소를 찾을 수 없고, 어떤 경우에도 옵션이라고 표시되어 있는 이유를 알 수 없습니다.

누가 나를 올바른 방향으로 인도해 줄 수 있나요?

갱신하다

다음 시도까지 해봤습니다.

add_filter('woocommerce_billing_fields', 'force_billing_fields', 1000, 1);
function force_billing_fields($fields) {
  $fields['billing_first_name']['required'] = true;
  $fields['billing_last_name']['required'] = true;
  $fields['billing_address_1']['required'] = true;
  $fields['billing_city']['required'] = true;
  $fields['billing_postcode']['required'] = true;
  $fields['billing_country']['required'] = true;
  $fields['billing_state']['required'] = true;
  $fields['billing_email']['required'] = true;
  $fields['billing_phone']['required'] = true;

  return $fields;
}

청구처 전화와 국가가 필요조건으로 표시되어 있는 것을 제외하고 선택사항이 계속 표시되어 있습니다.하지만 나머지는 여전히 선택 사항입니다.

제 코멘트에 기재되어 있는 바와 같이 유죄가 아니라고 판단될 경우, 다음을 사용합니다(다른 코드가 이미 이러한 훅을 사용하고 있는 경우, 여기서 가장 높은 훅 우선순위를 사용합니다).

add_filter( 'woocommerce_default_address_fields', 'customising_checkout_fields', 1000, 1 );
function customising_checkout_fields( $address_fields ) {
    $address_fields['first_name']['required'] = true;
    $address_fields['last_name']['required'] = true;
    $address_fields['company']['required'] = true;
    $address_fields['country']['required'] = true;
    $address_fields['city']['required'] = true;
    $address_fields['state']['required'] = true;
    $address_fields['postcode']['required'] = true;

    return $address_fields;
}

코드가 기능합니다.php 파일에는 액티브한 아이 테마(또는 활성 테마).테스트 및 동작합니다.

청구 전화 및 이메일에 대해 시도할 수 있습니다.

add_filter('woocommerce_billing_fields', 'custom_billing_fields', 1000, 1);
function custom_billing_fields( $fields ) {
    $fields['billing_email']['required'] = true;
    $fields['billing_phone']['required'] = true;

    return $fields;
}

또는

add_filter('woocommerce_checkout_fields', 'custom_billing_fields', 1000, 1);
function custom_billing_fields( $fields ) {
    $fields['billing']['billing_email']['required'] = true;
    $fields['billing']['billing_phone']['required'] = true;

    return $fields;
}

언급URL : https://stackoverflow.com/questions/51310107/make-checkout-fields-required-in-woocommerce-checkout

반응형