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

Elementor Pro表单需求:部分字段仅发邮件不存入线索,求调试帮助

解决Elementor表单字段仅发邮件不存线索的问题

问题诊断

你的代码存在几个关键问题导致报错:

  • 语法错误:if($form_id === "add_extra_fields")语句后缺少起始大括号,代码结构混乱。
  • 错误返回值:在elementor_pro/forms/new_record钩子中返回false会中断后续流程,应直接修改传入的$record对象,无需返回布尔值。
  • 字段操作方式错误:用set_field或update_field设为空值仍可能将空字段存入线索,正确做法是彻底移除字段。

修正后的代码

add_action( 'elementor_pro/forms/new_record', [ $plugin_public, 'remove_specific_fields_from_leads' ], 9, 1 );

public function remove_specific_fields_from_leads( $record ) {
    // 验证目标表单
    $form_id = $record->get_form_settings( 'form_id' );
    if ( $form_id !== "add_extra_fields" ) {
        return;
    }

    // 定义需要移除的字段键名
    $fields_to_remove = [ 'field1', 'field2' ]; // 替换为实际字段ID
    foreach ( $fields_to_remove as $field_key ) {
        if ( $record->get_field( $field_key ) ) {
            $record->remove_field( $field_key );
        }
    }
}

关键说明

  • 钩子优先级:设置为9确保在Elementor保存线索前执行字段移除,避免字段被存入。
  • 字段ID确认:field1需替换为表单中实际的字段键名,可在Elementor表单编辑器的「高级」选项卡中查看「字段ID」。
  • 不影响邮件发送:邮件内容在该钩子触发前已生成,移除字段只会阻止其存入线索,不会影响邮件正常发送。

调试方法

若仍报错,可开启WordPress调试模式排查具体问题:
在wp-config.php中添加以下代码:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

提交表单后查看wp-content/debug.log文件,获取详细错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 14:40:11