Direttamente da WordPress Snippets, una soluzione per impostare come immagine in evidenza la prima immagine caricata all’interno dell’articolo. Può essere utile se si passa da un tema che non supporta le immagini in evidenza ad uno che le supporta per evitare di doverle impostare tutte.
Puo sembrare un duplicato di questo articolo, ma in realtà il funzionamento è diverso: l’immagine viene impostata come in evidenza proprio a livello di database, non semplicemente durante la visualizzazione del blog. Inoltre non si deve mettere mano al template. Ecco il codice:
function afi_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', 'afi_autoset_featured');
add_action('save_post', 'afi_autoset_featured');
add_action('draft_to_publish', 'afi_autoset_featured');
add_action('new_to_publish', 'afi_autoset_featured');
add_action('pending_to_publish', 'afi_autoset_featured');
add_action('future_to_publish', 'afi_autoset_featured');
Il codice può essere inserito nel file functions.php del proprio tema, oppure inserito in un plugin dedicato. Questa seconda soluzione è preferibile perché rende la funzione indipendente dal tema in uso. Chi vuole provarlo, può scaricare il plugin direttamente qui sotto.
[wpdm_file id=7]
