<?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;
}