front end publishing (wp_insert_post) on home page, archive page & search page
-
I’m using a custom front end publishing form on my website using wp_insert_post, based on this article.
It works perfectly when I put this code inside a page, but when on the front-end page (homepage), archive page and search page, it doesn’t work, and when I submit the form, I’m redirected to an archive.php page, the archive page from the post_category I’ve chosen in my form.
I think there might be a conflict with my submit button, I really don’t know what’s happening.
anyone can help me with this ?
here is my code
<?php if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "new_post") { // Do some minor form validation to make sure there is content if (isset ($_POST['title'])) { $title = $_POST['title']; } else { echo 'veuillez entrer un titre'; } if (isset ($_POST['description'])) { $description = $_POST['description']; } else { echo 'veuillez entrer du texte'; } $genre = $_POST['genre']; $tranche_age = $_POST['tranche_age']; // ADD THE FORM INPUT TO $new_post ARRAY $new_post = array( 'post_title' => $title, 'post_content' => $description, 'post_category' => array($_POST['cat']), // Usable for custom taxonomies too //'tax_input' => array( 'regions' => '14' ), 'post_status' => 'publish', // Choose: publish, preview, future, draft, etc. 'post_type' => 'post', //'post',page' or use a custom post type if you want to //'genre' => $genre, //'tranche_age' => $tranche_age, ); //SAVE THE POST $pid = wp_insert_post($new_post); wp_set_post_terms($pid,array($_POST['regions']),'regions',true); wp_set_post_terms($pid,array($_POST['sexes']),'sexes',true); wp_set_post_terms($pid,array($_POST['ages']),'ages',true); //REDIRECT TO THE NEW POST ON SAVE $link = site_url(); wp_redirect( $link ); //ADD OUR CUSTOM FIELDS //add_post_meta($pid, 'genre', $genre, true); //add_post_meta($pid, 'tranche_age', $tranche_age, true); } // END THE IF STATEMENT THAT STARTED THE WHOLE FORM //POST THE POST YO do_action('wp_insert_post', 'wp_insert_post'); ?> <div id="container"> <div id="content" role="main"> <!-- FRONT END PUBLISHING --> <div class="wpcf7"> <form id="new_post" name="new_post" method="post" action="" class="wpcf7-form" enctype="multipart/form-data"> <!-- post name --> <fieldset name="name"> <label for="title">Titre:</label> <input type="text" id="title" value="" tabindex="5" name="title" /> </fieldset> <!-- post Category --> <fieldset class="category"> <label for="cat">Catégorie :</label> <?php wp_dropdown_categories( 'tab_index=10&taxonomy=category&hide_empty=0&show_option_all=Choisissez une catégorie' ); ?> </fieldset> <!-- post regions --> <fieldset class="regions"> <label for="regions">Région :</label> <?php wp_dropdown_categories( 'name=regions&tab_index=10&taxonomy=regions&hide_empty=0&show_option_all=Choisissez une catégorie' ); ?> </fieldset> <!-- post Content --> <fieldset class="content"> <label for="description">Question :</label> <textarea id="description" tabindex="14" name="description" cols="80" rows="10"></textarea> </fieldset> <!-- Genre --> <input type="hidden" id="sexes" name="sexes" value="26" /> <!-- Tranche d'âge --> <?php $date_of_birth = um_user('birth_date'); $age = CalculateAge($date_of_birth); ?> <?php if ($age >= 18 && $age <= 25) :?> <input type="hidden" value="28" id="ages" name="ages" /> <?php endif; ?> <?php if ($age >= 26 && $age <= 35) :?> <input type="hidden" value="29" id="ages" name="ages" /> <?php endif; ?> <?php if ($age >= 36 && $age <= 45) :?> <input type="hidden" value="30" id="ages" name="ages" /> <?php endif; ?> <?php if ($age >= 46) :?> <input type="hidden" value="31" id="ages" name="ages" /> <?php endif; ?> <fieldset class="submit"> <input type="submit" value="Envoyer" tabindex="40" id="submit" name="submit" /> </fieldset> <input type="hidden" name="action" value="new_post" /> <?php wp_nonce_field( 'new-post' ); ?> </form> </div> </div> </div>
Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
- The topic ‘front end publishing (wp_insert_post) on home page, archive page & search page’ is closed to new replies.