Je crée un message depuis le début utilisant (raccourci pour plus de concision);
if (empty($_POST['my_title'])){
echo 'error: please insert a title';
} else {
$title = $_POST['my_title'];
}
$new_post = array(
'post_title' => $title,
'post_status' => 'publish',
'post_type' => 'post'
$pid = wp_insert_post($new_post);
Si aucun titre n'est présent sur , soumettez , le formulaire renvoie alors le message d'erreur.
erreur: veuillez insérer un titre
Cependant, WordPress insère toujours le message avec un titre de (pas de titre) .
Existe-t-il un moyen de valider PHP simple pour empêcher wp_insert_post
d’accepter une valeur vide? (sans utiliser Javascript) .
Mettez simplement l'appel wp_insert_post
dans votre contrôle conditionnel pour qu'il ne soit appelé que si le titre de l'article n'est pas vide, quelque chose comme ceci:
if (empty($_POST['my_title'])){
echo 'error: please insert a title';
} else {
$title = $_POST['my_title'];
$new_post = array(
'post_title' => $title,
'post_status' => 'publish',
'post_type' => 'post');
$pid = wp_insert_post($new_post);
}
Ou vous pourriez simplement
return;
après l'écho de l'erreur. :)