前端发布在前端页面上不起作用

时间:2016-05-13 作者:user2882154

我在我的网站上有一个定制的前端发布表单,基于this 文章

当我将此代码放在页面中时,它可以很好地工作,但当放在前端页面(主页)时,它不工作,当我提交表单时,我会被重定向到存档。php页面,我在表单中选择的post\\u类别中的归档页面。

  \'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>

1 个回复
SO网友:user2882154

多亏了@TheDeadMedic,我找到了解决方案。我使用了保留术语,这就是Wordpress将我的输入解释为查询参数的原因。

因此,例如,对于我的类别,我必须以我的形式更改我的类:

  \'post_category\' =>  array($_POST[\'cat\']), // Usable for custom taxonomies too
根据

  \'post_category\' =>  array($_POST[\'my_cat\']), // Usable for custom taxonomies too
在我的表格中,由“my\\u cat”命名为“cat”。

每次使用保留术语时,我都必须更改此项。

现在它工作得非常好!

相关推荐

将不存在的页面重定向到FrontPage

当用户键入inn www.mypage时。com/x(不存在)结果显示一个空正文,页眉和页脚保持不变。大多数重定向插件允许我将一个特定URL重定向到另一个特定URL。我想要的不仅仅是重定向一个特定的URL,而是将每个不存在的URL重定向到一个特定的URL。这个重定向操作叫什么,我怎么做?