Vous êtes ici : Accueil | Snippets WordPress | Articles | Forcer l’utilisation d’une image à la une pour publier un article

Forcer l’utilisation d’une image à la une pour publier un article

image a la une snippet

Si vous avez un blog ou un site avec plusieurs rédacteurs, vous pouvez obliger l’utilisation d’une image à la une dans vos articles pour garder une certaine cohésion de votre design.

Le snippet suivant empêche la publication de l’article et affiche une fenêtre d’alerte pour prévenir le rédacteur :

// Imposer l'utilisation d'une image à la une
add_action('save_post', 'wpm_featured_image');
add_action('admin_notices', 'wpm_image_error');

function wpm_featured_image($post_id) {

    // Si c'est un article
    if(get_post_type($post_id) != 'post')
        return;

	// Si aucune image à la une n'est présente
    if ( !has_post_thumbnail( $post_id ) ) {
        // On utilise un transient pour afficher un message au redacteur
        set_transient( "has_post_thumbnail", "no" );
        // On supprime la fonction pour qu'elle ne boucle pas à l'infini
        remove_action('save_post', 'wpm_image_une');
        // On enregistre l'article en tant que brouillon
        wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
        add_action('save_post', 'wpm_image_une');
    } else {
        delete_transient( "has_post_thumbnail" );
    }
}

function wpm_image_error()
{
    // On vérifie que le transient est défini et on affiche le message d'erreur
    if ( get_transient( "has_post_thumbnail" ) == "no" ) {
        echo "<div id='message' class='error'><p><strong>Vous devez choisir une image à la Une. Votre article est sauvegardé mais ne sera pas publié.</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }
}

Copiez-collez ce code dans le fichier functions.php de votre thème enfant.

Voici le résultat lorsque l’image à la une n’a pas été définie :

image à la une - wpmarmite

Il faut sélectionner une image à la Une

Vous pouvez bien évidemment modifier la phrase du message d’erreur pour afficher ce que vous voulez.

Sachez que l’article est tout de même enregistré dans la base de données malgré le message d’erreur.

Source: WPsnipp

Vous débutez ? Procurez-vous le Kit du Freelance WordPress

Trouver les bons clients, leur vendre des prestations et bien communiquer avec eux n'est pas inné. Évitez les galères et gagnez du temps en vous formant aux côtés de ces 7 professionnels.

Commencer maintenant

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    La Marmite ne peut malheureusement pas fournir de support. Merci d'en tenir compte dans votre commentaire 😉

    Si vous ne lui en voulez pas, donnez-lui un j'aime sur Facebook :



    fa0aba43d5b2ac016572e028fc7d77f81111111111111111111
    Partagez
    Tweetez
    Partagez