X

Imposta automaticamente l'immagine in evidenza

Snippet di IsItWP

A volte non si dispone di un'immagine in evidenza per un post e si desidera che la prima immagine dell'articolo venga utilizzata automaticamente come immagine in evidenza.

Istruzioni: Aggiungi il seguente codice al file functions.php del tuo tema WordPress per impostare automaticamente l'immagine in evidenza per i tuoi post. Se aggiungi un'immagine in evidenza a un post, questo codice verrà sovrascritto e verrà visualizzata la tua immagine in evidenza.

function autoset_featured() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
        if (!$already_has_thumb)  {
        $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
            if ($attached_image) {
                foreach ($attached_image as $attachment_id => $attachment) {
                    set_post_thumbnail($post->ID, $attachment_id);
                }
            }
        }
}
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');

Potrebbe interessarti anche rimuovere la casella dei metadati dell'immagine in evidenza.

Commenti   Lascia una risposta

  1. Una domanda, e se avessi bisogno di escludere alcune pagine? cosa potrei fare... grazie mille

  2. Perché funziona solo quando si carica una nuova immagine e non quando se ne sceglie una dalla libreria, anche se non è utilizzata in nessun altro post?

    1. Utilizza gli allegati, che otterranno l'immagine in base all'immagine assegnata o collegata al post.

  3. Grazie mille, funziona a meraviglia <3

  4. Non ho familiarità con PHP. Sto usando il tema Astra. Dopo aver aggiunto questo codice, un'immagine casuale dal post viene impostata come immagine in evidenza invece della prima immagine. Puoi sistemarlo?

  5. Quindi, prima di tutto grazie per questo pezzo di codice. Come fotografo, mi sono imbattuto in un problema leggermente diverso, ovvero avevo bisogno che la pagina di allegato avesse più funzionalità. Dopo aver configurato la pagina di allegato per mostrare le miniature, ho modificato il tuo codice per impostare automaticamente la miniatura della pagina di allegato come immagine dell'allegato. È stato un vero problema, quindi ecco il codice per chiunque altro possa cercare di fare la stessa cosa.

    function set_attachment_thumbnail() { global $post; if( get_post_type($post) === ‘attachment’) { $attachment_thumb = has_post_thumbnail($post->ID); if( !$attachment_thumb ) { set_post_thumbnail($post->ID, $post->ID ); } } } … come sopra con il nome della funzione cambiato.

    Spero che questo aiuti qualcun altro. :)

    1. Shahzad Saeed 5 agosto 2019 alle 11:48

      Grazie per aver condiviso il tuo snippet con noi, Chris :)

  6. Ho appena provato ad applicare questo codice – grazie per averlo condiviso – ma ho scoperto subito che trova un'immagine solo circa 2/3 delle volte, e inoltre non è in modo affidabile la prima immagine del post. Qualche idea?

  7. Quando metto il codice alla fine di functions.php, invece, mostra il codice in cima al mio sito web. Sai perché o come risolvere?

    1. È probabile che il codice sia stato aggiunto in modo errato. Penso che dovresti consultare il nostro articolo su come aggiungere correttamente gli snippet di codice.

      Potresti anche voler consultare la risoluzione dei problemi degli errori di WordPress e la correzione degli errori più comuni di WordPress.

  8. Ciao,
    funziona perfettamente per i post di WordPress ma non per i custom post type.
    Hai qualche idea per farlo funzionare su qualsiasi custom post type?

    Tanti saluti
    Sebastian

  9. Ciao

    Ho provato questo codice sul tema Extra di Elegantthemes e non funziona!

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!