挂钩 Elementor pro 表单小部件的表单提交

Tom*_*rry 2 wordpress wordpress-rest-api elementor

我已经使用 Elementor 表单小部件创建了一个表单,它应该是一个用户注册表单。现在我想获取表单输入字段并将用户添加到数据库中。如何获取表单字段?并且必须取消电子邮件的发送(Elementor 表单小部件默认执行的操作)。我可以在执行自定义代码(将用户插入数据库)后取消它exit,以便 Elementor ajax 调用不会发送电子邮件。
小部件中有一些钩子(fe“ elementor_pro/forms/form_submitted”和其他一些钩子),但我想知道执行此操作的适当方法。

你有什么想法吗?请告诉我。

多谢!

小智 5

从 elementor 文档来看,它应该引导您走向正确的方向?!您可以使用 $records->get('fields') 访问值

// A send custom WebHook
add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
    //make sure its our form
    $form_name = $record->get_form_settings( 'form_name' );

    // Replace MY_FORM_NAME with the name you gave your form
    if ( 'MY_FORM_NAME' !== $form_name ) {
        return;
    }

    $raw_fields = $record->get( 'fields' );
    $fields = [];
    foreach ( $raw_fields as $id => $field ) {
        $fields[ $id ] = $field['value'];
    }

    wp_remote_post( 'HTTP://YOUR_WEBHOOK_URL', [
        'body' => $fields,
    ]);
}, 10, 2 );
Run Code Online (Sandbox Code Playgroud)

在这里阅读更多信息https://developers.elementor.com/forms-api/#Form_New_Record_Action