Vous cherchez un moyen d'exiger une image mise en avant avant de pouvoir publier un article ? Cet extrait de code vous obligera à avoir ajouté une image mise en avant avant que votre article ne puisse être publié. Si vous essayez de publier un article sans image mise en avant après avoir ajouté cet extrait, vous recevrez ce message : « Vous devez sélectionner une image mise en avant. Votre article est enregistré mais ne peut pas être publié. »
Instructions :
Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
function wpds_check_thumbnail($post_id) {
// change to any custom post type
if(get_post_type($post_id) != 'post')
return;
if ( !has_post_thumbnail( $post_id ) ) {
// set a transient to show the users an admin message
set_transient( "has_post_thumbnail", "no" );
// unhook this function so it doesn't loop infinitely
remove_action('save_post', 'wpds_check_thumbnail');
// update the post set it to draft
wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
add_action('save_post', 'wpds_check_thumbnail');
} else {
delete_transient( "has_post_thumbnail" );
}
}
function wpds_thumbnail_error()
{
// check if the transient is set, and display the error message
if ( get_transient( "has_post_thumbnail" ) == "no" ) {
echo "<div id='message' class='error'><p><strong>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>";
delete_transient( "has_post_thumbnail" );
}
}
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 7 meilleurs plugins de galerie WordPress comparés.
Salut ! Est-ce que cela fonctionne pour l'image mise en avant de Woocommerce ?
peut-on aussi le faire pour le titre de l'article
Vous pourriez être en mesure de vérifier si le titre a été ajouté en utilisant la fonction get_the_title().
Cela crée tellement d'ébauches automatiques indésirables dans le système
Salut Visal,
Pourquoi créez-vous des brouillons automatiques ?
Avez-vous résolu ce problème ?
Cordialement
Merci
Salut Kevin. Je crée un plugin de fonctions personnalisé où j'ai ajouté cet extrait et il semble fonctionner correctement jusqu'à ce que j'essaie de supprimer une ébauche/un article. Je ne peux pas supprimer car il me donne juste le message « Vous devez sélectionner une image mise en avant. Votre article est enregistré mais ne peut pas être publié. » Je dois supprimer le code pour pouvoir supprimer un article.
J'ai mis le code de la fonction (wpds_check_thumbnail) à l'intérieur de :
if ( ‘trash’ != get_post_status( $post_id ) ) { //Code ici }
Super ! C'est très utile pour moi en ce moment. Est-ce réglable pour ne fonctionner que sur un certain type d'article ou une certaine catégorie ?