#wordpress #wordpress-rest-api #elementor
#wordpress #wordpress-rest-api #elementor
Вопрос:
Я создал форму с помощью виджета Elementor form, и это должна быть форма регистрации пользователя. Теперь я хочу получить поля ввода формы и добавить пользователя в базу данных. Как я могу получить поля формы? И отправка электронной почты (которую виджет Elementor form выполняет по умолчанию) должна быть отменена. Я могу отменить его exit
после выполнения моего пользовательского кода (вставить пользователя в БД), чтобы вызов Elementor ajax не отправлял электронное письмо.
В виджете есть несколько перехватов (например, « elementor_pro/forms/form_submitted
» и некоторые другие), но я хотел бы знать подходящий способсделайте это.
У вас есть какая-то идея? Пожалуйста, дайте мне знать.
Большое спасибо!
Ответ №1:
Из документации elementor это должно привести вас в правильном направлении ?! Вы можете получить доступ к значениям с помощью $records-> get(‘поля’)
// 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 );
подробнее читайте здесь https://developers.elementor.com/forms-api/#Form_New_Record_Action