2016-05-13 92 views
0

我在我的網站上使用自定義前端發佈表單,基於this文章。前端發佈無法在前端頁面上工作

當我把這段代碼放到一個頁面裏,但是當它在前端頁面(主頁)上不起作用,並且當我提交表單時,我被重定向到一個archive.php頁面,我已經在我的表單中選擇了來自post_category的存檔頁面。

'post_category' => array($_POST['cat']) 

    <!-- 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> 

的人都知道爲什麼它的工作原理所有其他網頁上,而不是頭版?

這裏是我的PHP代碼:

<?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> 
+0

你的家是自定義主頁,頁面模板或的index.php? –

+0

你好,我的家是一個自定義模板頁面。這是一個wordpress頁面,我在後臺定義了使用這個頁面作爲頭版。我也意識到,當我在「archive.php」和「search.php」中添加我的wp_insert_post時,我遇到了這個問題...你有什麼想法嗎? – mmdwc

+0

這工作對我來說 –

回答

0

使用表單操作

action="<?php bloginfo('url'); ?>" 
+0

感謝您的回覆,但它不工作...你有什麼想法嗎?這是我需要添加這個嗎?

」class =「wpcf7-form」enctype =「multipart/form-data」> – mmdwc

+0

請分享您的主頁模板。 –