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

如何在Elementor表单提交后获取自定义字段标签?

获取Elementor表单提交后字段标签的解决方案

Elementor表单提交记录($record对象)里的fields仅存储用户提交的值,字段标签属于表单的配置信息,需要从表单的原始设置中获取,具体实现如下:

// 获取当前提交记录对应的表单ID
$form_id = $record->get_form_settings( 'form_id' );

// 通过Elementor Forms管理器加载表单实例
$form_manager = \ElementorPro\Modules\Forms\Classes\Forms_Manager::instance();
$form = $form_manager->get_form( $form_id );

// 若表单实例不存在,直接终止执行
if ( ! $form ) {
    return;
}

// 获取提交的原始字段数据
$raw_fields = $record->get( 'fields' );

// 用于存储包含标签和值的字段数据
$form_fields_with_labels = [];

// 遍历所有提交的字段
foreach ( $raw_fields as $field_id => $submitted_data ) {
    $field_label = '';
    
    // 遍历表单的原始字段配置,匹配对应字段的标签
    foreach ( $form['fields'] as $form_field ) {
        // 匹配字段的自定义ID或系统生成ID
        if ( $form_field['custom_id'] === $field_id || $form_field['id'] === $field_id ) {
            $field_label = $form_field['label'];
            break;
        }
    }
    
    // 组装字段的ID、值和标签
    $form_fields_with_labels[ $field_id ] = [
        'value' => $submitted_data['value'],
        'label' => $field_label
    ];
}

关键说明

  1. 表单实例通过Forms_Manager获取,确保能拿到表单的完整字段配置
  2. 字段匹配同时检查custom_id(用户自定义的字段ID)和id(Elementor自动生成的字段ID),避免遗漏
  3. 加入表单实例存在性判断,防止因表单被删除等情况引发报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:29:55