source

Wordpress Contact Form 7 무전기 불필요

lovecheck 2023. 3. 8. 21:17
반응형

Wordpress Contact Form 7 무전기 불필요

나는 라디오 버튼과 함께 몇 개의 필드가 있는 양식을 가지고 있다.이 옵션버튼은 옵션필드입니다그러나 라디오 버튼에서 옵션을 선택하지 않으면 양식을 제출할 수 없습니다.

<div class="input-field-outer">
    [text* your-name class:name placeholder "Name or business name*"]
</div>
<div class="input-field-outer">
    [email* email placeholder "Email*"]
</div>
<div class="input-field-outer">
    [text* contact-number id:telno class:hs-phone-number placeholder "Contact number*"]
    <span id="errmsg"></span>
</div>
<div class="input-field-outer">
    <div class="radio-outer">
        [radio customer_type "New Customer" "Old Customer"]
    </div>
</div>

다음 중 하나를 기본값으로 선택하면 작동합니다.

[radio customer_type default:1 "신규고객" "구고객"]

기본적으로 항목이 없는 라디오 버튼을 사용하는 방법

회피책은 체크박스를 사용하여 배타적 파라미터를 추가하는 것입니다.그러면 고객 유형을 선택하지 않고 양식을 제출할 수 있습니다.

[checkbox customer_type exclusive "New Customer" "Old Customer"]

모든 무선 필드에서 검증을 삭제하려면 이 항목을 함수에 추가합니다.php 또는 해당하는 경우.

remove_filter('wpcf7_validate_radio', 'wpcf7_checkbox_validation_filter', 10);

일부 무선에 대해 필요한 검증을 유지하려면 다음과 같이 변경합니다.

[radio fieldName class:required "Yes" "No"]

그런 다음 이 코드를 함수에 추가합니다.php:

remove_filter('wpcf7_validate_radio', 'wpcf7_checkbox_validation_filter', 10);

add_filter('wpcf7_validate_radio', function($result, $tag) {
  if (in_array('class:required', $tag->options)) {
    $result = wpcf7_checkbox_validation_filter($result, $tag);
  }
  return $result;
}, 10, 2);

Checkbox exclusive는 테마의 CSS를 지원하지 않았기 때문에 실제로는 작동하지 않았습니다.

이 기능을 지원하기 위해 JS 및 CSS를 테마에 추가하는 번거로움 없이 다음 필드를 하나 더 사용하여 무선 문제를 해결할 수 있었습니다.

[radio choice label_first default:1 "" "Yes" "No"]

그 후 CSS에서 다음과 같이 추가했습니다.

.wpcf7-list-item.first {
    display: none;
}

이 첫 번째 옵션은 프런트 엔드(및 결과 메일)에는 표시되지 않고 확인 시 체크박스를 사실상 불필요하게 만들었습니다.

옵션을 사용하여 기본적으로 선택되어 있는 라디오 버튼을 선택할 수 있습니다.default:1첫 번째 라디오나default:2두 번째 라디오, 기타 등등.

옵션 추가default:0당신이 원하는 대로 할 수 있어요.그러면 모든 라디오 버튼이 선택 해제됩니다.

이 코멘트를 읽어주세요.

CF7의 저자인 Takayuki Miyoshi는 라디오 버튼이 기본적으로 필수 필드라고 생각합니다.그리고 그 사람만 그런 게 아니야.이는 W3C의 옵션버튼 HTML 사양을 따릅니다.

그리고.

필수 옵션이 필요하지 않은 경우 확인란을 사용하여 전환할 수 있습니다.

따라서 회피책 구축은 W3C의 사양을 충족하지 못하기 때문에 최적의 솔루션이 아닐 수 있습니다.

언급URL : https://stackoverflow.com/questions/45671602/wordpress-contact-form-7-radio-not-required

반응형