Bootstrap Templates Bundle

Tuesday, May 19, 2015

How to add frontend post / content addition option in WordPress

Step 1. Create a new page with this page template
Step 2. Fill the form, to create a post
Step 3. Check Dashboard, post added or not.

Note: You can change post type and status from here

  1.  'post_type' => 'post',
  2.  'post_status' => 'publish'





  1. <?php
  2. /**
  3.  * Template Name: Front End Submission
  4.  */
  5. get_header(); ?>
  6. <div id="primary" class="site-content">
  7.         <div id="content" role="main">
  8.                 <?php
  9.                 /*
  10.                  * If sent, analyze form data and store them in variables
  11.                  */
  12.                 if (isset($_POST['submit'])) {
  13.                         $name = htmlspecialchars($_POST['myname']);
  14.                         $email = sanitize_email($_POST['myemail']);
  15.                         $message = wp_kses_post($_POST['mymessage']);
  16.                 /*
  17.                  * Create a post for post type "post"
  18.                  */
  19.                 $contact_post = array(
  20.                         'post_title' => $name . ' | ' . $email,
  21.                         'post_content' => $message,
  22.                         'post_type' => 'post',
  23.                         'post_status' => 'publish'
  24.                 );
  25.                 if (wp_insert_post($contact_post)) echo 'Post Added for admin review.<br>';
  26.                 else echo 'Try again: fill the fields';
  27.                 /*
  28.                  * Displaying the basic form
  29.                  */
  30.                 } else { ?>
  31.                         <form action="<?php echo the_permalink(); ?>" method="post">
  32.                                 <label for="name">Nom complet</label>
  33.                                 <input type="text" name="myname" id="name" placeholder="Votre nom" />
  34.                                 <hr>
  35.                                 <label for="email">Adresse e-mail</label>
  36.                                 <input type="email" name="myemail" id="email" placeholder="Votre e-mail" />
  37.                                 <hr>
  38.                                 <label for="message">Message</label>
  39.                                 <textarea cols="50" rows="10" name="mymessage" id="message" placeholder="Votre message..."></textarea>
  40.                                 <br>
  41.                                 <input type="submit" name="submit" value="Envoyer votre message" />
  42.                         </form>
  43.                 <?php } ?>
  44.         </div><!-- #content -->
  45. </div><!-- #primary -->
  46. <?php get_sidebar(); ?>
  47. <?php get_footer(); ?>

No comments:

Post a Comment

Wokiee React eCommerce Template