public function check_form_submission() { if (empty($_REQUEST['wp_form_id']) || empty($_REQUEST['wp_form_nonce'])) { return; } if (!wp_verify_nonce($_REQUEST['wp_form_nonce'], $_REQUEST['wp_form_id'])) { return; } $form = wp_get_form($_REQUEST['wp_form_id']); $submission = new WP_Form_Submission($form, $_REQUEST); if (!$submission->is_valid()) { $submission->prepare_form(); return; } $submission->submit(); $submission->redirect(); }
/** * Similar to check_form_submission() but for AJAX requests. * * @see check_form_submission() * * @throws Exception */ public function check_form_submission_ajax() { $kk = ''; if (empty($_REQUEST['data']['wp_form_id']) || empty($_REQUEST['data']['wp_form_nonce'])) { return; } if (!wp_verify_nonce($_REQUEST['data']['wp_form_nonce'], $_REQUEST['data']['wp_form_id'])) { return; } $form = wp_get_form($_REQUEST['data']['wp_form_id']); $submission = new WP_Form_Submission($form, $_REQUEST['data']); if (!$submission->is_valid()) { /** * похоже здесь это не надо вызывать, т к возможно эта штука втыкает ошибки в хтмл, * а нам нужно просто подготовить ошибки и отправить их */ $submission->prepare_form(); $submission->send_ajax_answer(); return; } $submission->submit_ajax(); $submission->send_ajax_answer(); }