Come prendere la prima immagine del post.
Questa semplice funzione ci permette di prendere la prima immagine inserita nel contenuto del post.
function get_first_image($ID) { //prendo l'immagine in evidenza se esiste altrimenti tutte le img allegate al post $feature_image = wp_get_attachment_image_src( get_post_thumbnail_id($ID), 'full'); $thumb = $feature_image[0]; if(!$thumb){ $files = get_children('post_parent='.$ID.'&post_type=attachment&post_mime_type=image'); //Get the Thumbnail URL if($files) { $keys = array_reverse(array_keys($files)); $j=0; $num = $keys[$j]; $image=wp_get_attachment_image($num, 'large', false); $imagepieces = explode('"', $image); $imagepath = $imagepieces[1]; $thumb=wp_get_attachment_url($num); }else { $postcontent = wp_get_single_post($ID); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $postcontent->post_content, $matches); $thumb = $matches [1] [0]; } } if(!empty($thumb)){ //Defines a default image print $thumb; } }
Questa funzione è molto utile se vogliamo personalizzare il layout del nostro tema. Spieghiamo cosa fa questa codice:
innanzitutto diciamo che questa funzione ritorna l’url dell’immagine per poi utilizzarlo a nostro piacimento ad esempio è possibile interagire con la libreria timthumb per creare delle miniature al volo.
La sequenza di questo codice è di verificare come prima cosa che il post abbia l’immagine in evidenza selezionata. In caso contrario, andiamo a selezionare tutte le immagini collegate tramite la funzione get_children e nel caso ritornasse un valore vuoto, andiamo ad analizzare ed estrarre l’immagine direttamente dal contenuto del post.