不需要Wordpress Contact Form 7收音机

Rij*_*K P 2 wordpress radio-button 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>
Run Code Online (Sandbox Code Playgroud)

当我将其中任何一个选为默认值时,它将起作用:

[radio customer_type默认值:1“新客户”“旧客户”]

关于不使用任何项目的单选按钮的任何想法都是默认的。

vic*_*nte 7

解决方法是使用复选框并添加独占参数。这使您无需选择客户类型即可提交表单。

[checkbox customer_type exclusive "New Customer" "Old Customer"]
Run Code Online (Sandbox Code Playgroud)


Jam*_*ong 6

要删除所有单选字段的验证,请将其添加到functions.php或任何适当的地方。

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

如果您想维护某些无线电所需的验证,请将它们更改为:

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

然后将此代码添加到functions.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);
Run Code Online (Sandbox Code Playgroud)


小智 5

复选框独占实际上对我不起作用,因为主题的 CSS 不支持它。

无需在主题中添加 JS 和 CSS 来支持此功能,我就通过使用另一个“空”字段成功地克服了无线电问题:

[radio choice label_first default:1 "" "Yes" "No"]
Run Code Online (Sandbox Code Playgroud)

之后我在 CSS 中添加了:

.wpcf7-list-item.first {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

这选择了第一个选项,该选项未显示在前端(以及生成的邮件)中,并且在验证中实际上不需要复选框。

  • 最好也将其包装在“div”或其他内容中,这样您就可以通过其类来定位它,例如“.radio-no-first .wpcf7-list-item.first” (2认同)