X

Come Richiedere un'Immagine in Evidenza Prima di Poter Pubblicare un Post

Snippet di IsItWP

Stai cercando un modo per richiedere un'immagine in evidenza prima di poter pubblicare un post? Questo snippet richiederà che tu abbia aggiunto un'immagine in evidenza prima che il tuo post possa essere pubblicato. Se provi a pubblicare un post senza un'immagine in evidenza dopo aver aggiunto questo snippet, riceverai questo messaggio: “Devi selezionare l'Immagine in Evidenza. Il tuo post è stato salvato ma non può essere pubblicato.”

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

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" );
    }

}

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: I 7 migliori plugin per gallerie WordPress a confronto.

Commenti   Lascia una risposta

  1. Daniel Violante 18 febbraio 2021 alle 13:45

    Ciao! Funziona per l'immagine in evidenza di Woocommerce?

  2. possiamo farlo anche per il titolo del post

    1. Potresti essere in grado di verificare se il titolo è stato aggiunto utilizzando la funzione get_the_title().

  3. Questo sta creando troppe bozze automatiche indesiderate nel sistema

    1. Ciao Vishal,
      Perché crea bozze automatiche?
      Hai risolto questo problema?
      Saluti

  4. Grazie

  5. Ciao Kevin. Sto creando un plugin di funzioni personalizzate dove ho aggiunto questo snippet e sembra funzionare bene finché non vado a eliminare una bozza/un post. Non riesco a eliminarlo perché mi dà solo il messaggio “Devi selezionare un'Immagine in Evidenza. Il tuo post è stato salvato ma non può essere pubblicato.” Devo rimuovere il codice per poter eliminare un post.

    1. Ho inserito il codice della funzione (wpds_check_thumbnail) in:

      if ( ‘trash’ != get_post_status( $post_id ) ) { //Codice qui }

  6. Ottimo! Questo mi è molto utile al momento. È possibile regolarlo per funzionare solo su un certo tipo di post o categoria?

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!