You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress Contact Form 7自定义复选框如何将数据传递到邮件?

Contact Form 7自定义复选框值无法传递到邮件的解决方案

核心问题排查

你的自定义代码存在2个关键属性缺失,导致CF7无法收集复选框提交的值:

  • 复选框<input>标签没有配置name属性,CF7依赖name属性匹配字段收集提交数据
  • 复选框<input>标签没有设置value属性,勾选后没有对应内容可传递
    另外如果邮件模板未添加对应字段的输出标签,也会导致接收到的邮件不显示勾选内容。

修复步骤

1. 修正复选框HTML代码

修改后的完整代码如下,新增了必填的name、value属性,同时修正了原代码的标签嵌套错误:

<span class="wpcf7-form-control-wrap your-services">
<span class="wpcf7-form-control wpcf7-checkbox">
  <span class="wpcf7-list-item">
    <label class="custom-control custom-checkbox">
      <input type="checkbox" class="custom-control-input" name="your-services[]" value="替换为当前复选框对应的实际服务内容"> Checkbox text
      <span class="custom-control-indicator"></span>
      <span class="wpcf7-list-item-label custom-control-description"></span>
    </label>
  </span>
 </span>
</span>

说明:

  • name属性值要和外层wpcf7-form-control-wrap后缀的字段名一致,末尾加[]是为了支持多选场景
  • 如果你有多个复选框选项,每个选项的<input>都使用相同的name="your-services[]",仅修改各自的value属性即可

2. 配置邮件输出模板

进入对应CF7表单的编辑页面,切换到「邮件」选项卡,在邮件内容模板的对应位置插入字段标签[your-services],CF7提交后会自动把所有勾选的复选框值用逗号拼接后替换这个标签。

3. 验证测试

保存表单后前端提交测试,检查接收邮件是否正常显示勾选内容。如果仍然异常,可以先使用CF7官方自带的复选框短代码生成功能生成默认代码,确认默认代码可以正常传值后再套入你的自定义样式,避免样式修改时遗漏核心属性。

注意事项

外层wpcf7-form-control-wrap后缀的字段名、input的name前缀、邮件模板里的标签名三者必须完全一致,大小写也要匹配,否则会出现数据丢失问题。

内容的提问来源于stack exchange,提问作者ozas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:36:02