Redirect to page after a widget form submit

admin2025-01-08  5

I have a widget form with custom fields like age,pincode etc.The submitted form data will be submitted through a 3rd party API which will output me JSON. Now I want to redirect to a page showing the results.How can i redirect to a page from the widget with the result.?

I have a widget form with custom fields like age,pincode etc.The submitted form data will be submitted through a 3rd party API which will output me JSON. Now I want to redirect to a page showing the results.How can i redirect to a page from the widget with the result.?

Share Improve this question asked Aug 15, 2015 at 6:21 AmarAmar 112 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 1

Inside the widget ensure a unique name for the submit button:

<button type="submit" name="widget_submit">Submit</button>

In functions.php:

function wpse20150815_processing_widget() {
   if( !isset( $_POST['widget_submit'] ) )
       return;

   //set an array for storing errors
   $errors = array();

   //process form data, and store errors in the $errors array
   if( empty( $_POST['pincode'] ) ) {
      $errors[] = __( 'Pincode cannot be empty', 'textdomain' );
   }

   //if there's an error in our data validation, don't proceed further
   if( !empty($errors) )
      return;

   //do what you want with the processed data
   //don't forget to sanitize form fields before storing data into database

   //i.e. inserting post content using the form data
   $post_id = wp_insert_post(...); //dummy presentation, use proper sanitization etc.

   if( !is_wp_error( $post_id ) ) {
      //if the post is inserted successfully, then redirect
      wp_redirect('path/you/desire/');
      exit;
   }
}
add_action( 'template_redirect', 'wpse20150815_processing_widget' );

If you want to thank someone for this code block, say thanks to @Sisir for his answer to me from where I learnt this.

If you are doing this via Ajax then after getting the response, you can redirect via JavaScript

window.location.href = 'url to be redirected to';
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1736271019a1486.html

最新回复(0)