test












<?php
/*
Plugin Name: Module de dédicaces radio
Description: Un module pour permettre aux auditeurs de la radio de soumettre des dédicaces en direct.
*/

// Ajouter la fonction du shortcode pour le module de dédicaces
add_shortcode('radio-dedicaces', 'radio_dedicaces');

// Fonction du shortcode pour le module de dédicaces
function radio_dedicaces() {
  // Afficher le formulaire pour soumettre une dédicace
  echo '<form method="post" action="' . esc_url( admin_url('admin-post.php') ) . '">';
  echo '<label for="nom">Votre nom :</label>';
  echo '<input type="text" name="nom" required><br>';
  echo '<label for="dedicace">Votre dédicace :</label>';
  echo '<textarea name="dedicace" required></textarea><br>';
  echo '<input type="submit" value="Soumettre">';
  echo '<input type="hidden" name="action" value="radio_dedicaces">';
  echo wp_nonce_field('radio_dedicaces_nonce', '_wpnonce', true, false);
  echo '</form>';
}

// Ajouter la fonction pour traiter la soumission du formulaire
add_action('admin_post_radio_dedicaces', 'radio_dedicaces_handler');
add_action('admin_post_nopriv_radio_dedicaces', 'radio_dedicaces_handler');

// Fonction pour traiter la soumission du formulaire
function radio_dedicaces_handler() {
  // Vérifier la sécurité de la demande
  if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'radio_dedicaces_nonce')) {
    wp_die('Erreur de sécurité.');
  }

  // Vérifier que l'action est correcte
  if (!isset($_POST['action']) || $_POST['action'] !== 'radio_dedicaces') {
    wp_die('Action invalide.');
  }

  // Vérifier que les champs requis sont remplis
  if (empty($_POST['nom']) || empty($_POST['dedicace'])) {
    wp_die('Veuillez remplir tous les champs.');
  }

  // Récupérer les données soumises
  $nom = sanitize_text_field($_POST['nom']);
  $dedicace = sanitize_textarea_field($_POST['dedicace']);

  // Enregistrer la dédicace dans la base de données
  $post_id = wp_insert_post(array(
    'post_title' => $nom . ' a dédié :',
    'post_content' => $dedicace,
    'post_status' => 'publish',
    'post_type' => 'dedicaces'
  ));

  // Rediriger vers la page d'accueil
  wp_redirect(home_url());
  exit;
}