コード例 #1
0
 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();
 }
コード例 #2
0
 /**
  * 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();
 }