<p>WooCommerce에서는 다음 코드를 사용하여 고객 등록 양식에 사용자 정의 "개인 정보 보호" 확인란을 추가했습니다. </p>
<pre class="brush:php;toolbar:false;">//등록 양식에 체크박스 추가
add_action( 'woocommerce_register_form', 'add_privacy_checkbox_registration' );
함수 add_privacy_checkbox_registration() {
$checkbox_text = sprintf( '%s <a href="%s"><strong>%s</strong></a>', __( 'Я прочитал и согласен с' ),
esc_url( site_url('/politic-conf/') ), __( 'политикой конфиденциальности' ) );
?>
<div class="wooCommerce-privacy-policy-wrapper">
<p class="form-row verify-required">
<label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
<input type="checkbox" class="wooCommerce-form__input-checkbox input-checkbox" name="privacy_policy" id="개인 정보 보호 -정책"
<span class="woocommerce-privacy-policy-checkbox-text><?php echo $checkbox_text ?></span><abbr class="필수" ?php esc_attr_e( '필수', 'wooCommerce' ) ?>">*</abbr>
</라벨>
<입력 유형="숨김" 이름="정책 필드" 값="1" />
</p>
</div>
이것 없이 사용해 보셨나요?
으아악필터는 등록된 필터이므로 결제시 호출되지 않으므로 해당 코드는 불필요한 것 같습니다. 해당 코드 블록을 주석 처리하고 등록을 다시 테스트해 보세요. 작동하는 경우 결제 프로세스도 테스트하여 잘못되지 않는지 확인하세요.
return $errors;
会结束函数,错误不会被添加。当然,我会假设is_checkout()
등록 시에는 false를 반환하지만 등록 시에는 어떤 이유로 true를 반환할까요?어쨌든 시도일 뿐입니다.
귀하의 코드를 테스트 사이트에서 테스트했는데 제 생각에는 잘 작동합니다. 확인란을 선택 취소하면 오류가 표시됩니다...
이제 마지막 함수에 뭔가가 빠졌습니다.
add_filter()
부분에 3개의 매개변수를 선언했기 때문에 2개가 빠졌습니다. 동시에 코드도 단순화했습니다다음은 마지막 함수에 대해 수정된 코드입니다.
으아악귀하의 사이트에서는 제출 후 페이지가 다시 로드되어 오류 메시지가 표시될 시간이 없기 때문에 이것이 문제가 해결되었는지 확실하지 않습니다.