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

Contact Form 7提交前重命名字段遇500错误求助

解决Contact Form 7字段重命名导致的500错误问题

错误原因分析

你的代码出现500错误,核心问题是没有将函数挂载到Contact Form 7的正确钩子上,且缺少必要的空值校验,导致执行时机不对或触发致命错误。

修正后的代码

替换原有代码为以下版本,确保在表单发送前的正确阶段修改字段名:

add_action('wpcf7_before_send_mail', 'custom_rename_form_field');
function custom_rename_form_field($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) return;

    $data = $submission->get_posted_data();
    if (!isset($data['jaky-obchod'])) return;

    $field_value = $data['jaky-obchod'];
    unset($data['jaky-obchod']);
    $data['Jaký obchod'] = $field_value;

    $submission->set_posted_data($data);
}

关键改进点

  • 绑定wpcf7_before_send_mail钩子:这是Contact Form 7官方提供的、用于在发送邮件前修改提交数据的钩子,确保执行时机正确
  • 增加空值校验:提前判断$submission实例和目标字段是否存在,避免因不存在的对象/字段触发致命错误
  • 简化逻辑:去除冗余步骤,保持代码清晰易维护

额外注意事项

  • 确认Google Sheets集成插件支持带空格和特殊字符(ý)的列名,需保证重命名后的字段名与表格列名完全匹配(包括大小写、特殊字符)
  • 测试前清除WordPress缓存,避免旧代码残留影响结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:22:05