Created
March 18, 2023 08:29
-
-
Save ahmedch1/53c0b7fe97b6d5350be72b2d7cb3cc84 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
Plugin Name: Posts FE | |
Description: Posts FE | |
Version: 1.0 | |
*/ | |
// Enregistrement du shortcode pour le formulaire | |
add_shortcode('mon_formulaire', 'mon_formulaire_shortcode'); | |
function mon_formulaire_shortcode() { | |
$html = ' | |
<form method="post"> | |
<label for="titre">Titre:</label> | |
<input type="text" name="titre" id="titre" required> | |
<br> | |
<label for="texte">Texte:</label> | |
<textarea name="texte" id="texte" required></textarea> | |
<br> | |
<button type="submit">Envoyer</button> | |
</form> | |
'; | |
return $html; | |
} | |
add_action('init', 'mon_formulaire_handler'); | |
function mon_formulaire_handler() { | |
if(isset($_POST['titre']) && isset($_POST['texte'])) { | |
$titre = $_POST['titre']; | |
$texte = $_POST['texte']; | |
// Validation du champ de titre | |
$existing_post = get_page_by_title($titre, OBJECT, 'post'); | |
if($existing_post != null) { | |
// Affichage d'un message d'erreur si un article avec le même titre existe déjà | |
echo "Erreur: un article avec le même titre existe déjà."; | |
return; | |
} | |
// Création d'un nouvel article non publié | |
$new_post = array( | |
'post_title' => $titre, | |
'post_content' => $texte, | |
'post_status' => 'draft', | |
'post_type' => 'post' | |
); | |
$post_id = wp_insert_post($new_post); | |
$to = get_option('admin_email'); | |
$subject = 'Nouvel article créé'; | |
$message = 'Un nouvel article a été créé: ' . $titre . '.\n\n' . $texte; | |
wp_mail($to, $subject, $message); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment