Quantcast
Channel: WordPress.org Forums » All Posts
Viewing all articles
Browse latest Browse all 134312

hungrygolf on "For Multi form, how to pass values and get post-id"

$
0
0

I am building a simple step form (step1 -> step2 -> step3)

At the first page, I did like this.

if( isset($_POST['step1']) ) {

                        include_once( get_template_directory() . '/includes/form2.php' );

                    } elseif( isset($_POST['step2']) ) {

                        include_once( get_template_directory() . '/includes/form3.php' );

                    } else {

                        include_once( get_template_directory() . '/includes/form1.php' );

                    }

Each form pass value like this.

<form name="mainform" id="mainform" class="form_step" action="" method="post">
<input type="submit" name="step1" id="step1" class="btn_orange" value="<?php _e( 'Continue ››', APP_TD ); ?>" />

on Step1, agreement page,
But on Step2, input form for title, content, tags (real input form page)
then it goes to a function to save values like this.
(after save values, I need to move Step3 with several values such as post_id which just saved and name, price

//*************************************************************************************//
if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] )) {

// Do some minor form validation to make sure there is content
if (isset ($_POST['title'])) {
    $title =  $_POST['title'];
} else {
    echo 'Please enter a title';
}
if (isset ($_POST['description'])) {
    $description = $_POST['description'];
} else {
    echo 'Please enter the content';
}
$tags = $_POST['post_tags'];
$step2 =  $_POST['step2'];

// Add the content of the form to $post as an array
$post = array(
    'post_title'    => $title,
    'post_content'  => $description,
    'post_category' => $_POST['cat'],  // Usable for custom taxonomies too
    'tags_input'    => $tags,
    'post_status'   => 'publish',           // Choose: publish, preview, future, etc.
    //'post_type'   => $_POST['post_type']  // Use a custom post type if you want to
    'post_type' => 'us_step'
);
wp_insert_post($post);  // Pass  the value of $post to WordPress the insert function
                        // http://codex.wordpress.org/Function_Reference/wp_insert_post
//wp_redirect( home_url() );

echo "ok=". $step1;
echo "ok=". $step2;
echo "ok";

//wp_redirect( 'http://domain.com/' );
//wp_redirect( 'http://domain.com/thanks-page/', 301 ); exit;
$step2 =  $_POST['step2'];
    $name =  $_POST['name'];
    $price =  $_POST['price'];
    $post_id = $_POST['postid'];

wp_redirect( 'http://domain.com/step-form/', 301, $step2='yes' );
exit;
} // end IF

// Do the wp_insert_post action to insert it do_action('wp_insert_post', 'wp_insert_post');

?>

I need to make it move to STEP 3 with $name, $price, $post_id But wp_redirect does seem to bring values (arguments) How can I fix it to move them to Step3?

By the way, How can I get the "post id" after it gets saved on function?

Thanks,


Viewing all articles
Browse latest Browse all 134312

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>