SHARE
TWEET

WordPress & wp_insert_post : créer du contenu dynamiquement

pskli Mar 19th, 2013 914 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /**
  3.  * Template Name: Formulaire de contact
  4.  */
  5.  
  6. get_header(); ?>
  7.  
  8. <div id="primary" class="site-content">
  9.         <div id="content" role="main">
  10.  
  11.                 <?php
  12.  
  13.                 /*
  14.                  * Si envoyé, analyser les données du formulaire et les stocker dans des variables
  15.                  */
  16.  
  17.                 if (isset($_POST['submit'])) {
  18.                         $name = htmlspecialchars($_POST['myname']);
  19.                         $email = sanitize_email($_POST['myemail']);
  20.                         $message = wp_kses_post($_POST['mymessage']);
  21.  
  22.                 /*
  23.                  * Créer un post de type 'contact'
  24.                  */
  25.  
  26.                 $contact_post = array(
  27.                         'post_title' => $name . ' | ' . $email,
  28.                         'post_content' => $message,
  29.                         'post_type' => 'contact',
  30.                         'post_status' => 'publish'
  31.                 );
  32.  
  33.                 if (wp_insert_post($contact_post)) echo 'Votre message a bien été enregistré.<br>';
  34.                 else echo 'Erreur d\'enregistrement du message';
  35.  
  36.                 /*
  37.                  * Affichage basique du formulaire
  38.                  */
  39.  
  40.                 } else { ?>
  41.  
  42.                         <form action="<?php echo the_permalink(); ?>" method="post">
  43.                                 <label for="name">Nom complet</label>
  44.                                 <input type="text" name="myname" id="name" placeholder="Votre nom" />
  45.                                 <hr>
  46.                                 <label for="email">Adresse e-mail</label>
  47.                                 <input type="email" name="myemail" id="email" placeholder="Votre e-mail" />
  48.                                 <hr>
  49.                                 <label for="message">Message</label>
  50.                                 <textarea cols="50" rows="10" name="mymessage" id="message" placeholder="Votre message..."></textarea>
  51.                                 <br>
  52.                                 <input type="submit" name="submit" value="Envoyer votre message" />
  53.                         </form>
  54.  
  55.                 <?php } ?>
  56.  
  57.         </div><!-- #content -->
  58. </div><!-- #primary -->
  59.  
  60. <?php get_sidebar(); ?>
  61. <?php get_footer(); ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top