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

WordPress Contact Form 7如何在邮件正文中传递自定义额外文本

解决方案

你可以通过给表单添加隐藏字段存储选中的额外文本,实现需求,步骤如下:

1. 修改Contact Form 7表单配置

添加一个隐藏字段用于存储选中的额外文本,修改后的表单代码如下:

<div class="form-dropdown">
<label> Your choice
[select type_exam id:choice_exam include_blank "first-exam" "second-exam"]
[hidden type_exam_extra id:type_exam_extra]
</label>
</div>

2. 调整前端jQuery逻辑

在下拉菜单切换时,同步将对应额外文本赋值给隐藏字段,同时补全原有代码缺失的语法闭合,修改后的完整代码如下:

<script>
$(document).ready(function () {
  $('#choice_exam').change(function () {
    var val = $(this).val();
    $('#option1').hide();
    $('#option2').hide();
    // 先清空隐藏字段值
    $('#type_exam_extra').val('');
    if (val == 'first-exam') {
      $('#option1').show();
      $('#type_exam_extra').val($('#option1').text());
    }
    else if (val == 'second-exam') {
      $('#option2').show();
      $('#type_exam_extra').val($('#option2').text());
    }
  })
});
</script>

3. 更新邮件正文配置

在邮件模板中调用隐藏字段的变量即可输出对应的额外文本,修改后的邮件正文配置如下:

Type exam: [type_exam]
额外说明:[type_exam_extra]

可选更安全的后端实现方案

如果担心前端内容被恶意篡改,可以不用前端隐藏字段,通过WordPress钩子在发送邮件前自动匹配额外文本。你只需在当前主题的functions.php文件中添加以下代码即可:

add_action('wpcf7_before_send_mail', 'add_extra_text_to_cf7_mail');
function add_extra_text_to_cf7_mail($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) return;
    $posted_data = $submission->get_posted_data();
    $type_exam = $posted_data['type_exam'];
    // 定义选项和额外文本的映射关系
    $extra_text_map = [
        'first-exam' => 'first exam extra text...',
        'second-exam' => 'second exam extra text....'
    ];
    $extra_text = isset($extra_text_map[$type_exam]) ? $extra_text_map[$type_exam] : '';
    // 获取邮件模板对象并替换内容
    $mail = $contact_form->prop('mail');
    $mail['body'] .= "\n额外说明:".$extra_text;
    $contact_form->set_properties(['mail' => $mail]);
}

用这个方案不需要修改前端代码和表单配置,仅需保留原来的邮件正文配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:09:04