X

Comment exiger une image mise en avant avant de pouvoir publier un article

Extraits par IsItWP

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.

Commentaires   Laisser une réponse

  1. Salut ! Est-ce que cela fonctionne pour l'image mise en avant de Woocommerce ?

  2. peut-on aussi le faire pour le titre de l'article

    1. Vous pourriez être en mesure de vérifier si le titre a été ajouté en utilisant la fonction get_the_title().

  3. Cela crée tellement d'ébauches automatiques indésirables dans le système

    1. Salut Visal,
      Pourquoi créez-vous des brouillons automatiques ?
      Avez-vous résolu ce problème ?
      Cordialement

  4. Merci

  5. 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.

    1. J'ai mis le code de la fonction (wpds_check_thumbnail) à l'intérieur de :

      if ( ‘trash’ != get_post_status( $post_id ) ) { //Code ici }

  6. 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 ?

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !