Thumbnail o Prima Immagine

Spesso chi lavora con i template in WordPress si trova davanti al problema di estrarre da un post l’immagine thumbnail (in WordPress significa “immagine in evidenza” o “featured image”).

Il problema nasce quando in un post ci sono delle immagini allegate, ma nessuna è stata messa come “in evidenza”: propongo quindi un semplice script (una funzione) che verifica se esiste nel post un’immagine in evidenza, eventualmente scarica la prima immagine allegata.

Come usare get_a_thumbnail:

  • $postid: l’id del post da cui estrarre l’immagine
  • $size: la dimensione dell’immagine da estrarre (stringa o array):
    se stringa il valore può essere:  thumbnail, medium, large or full
    se array qualcosa come: array(32,32)
  • return: la funzione ritorna un oggetto di tipo array con questi indici:
    • [0] => url
    • [1] => width
    • [2] => height
    • [3] => boolean: vero $url è un’immagine ridimensionata, false se è di dimensioni originali
//restituisce l'immagine (oggetto) in evidenza o la prima immagine inserita
function get_a_thumbnail($postid=null, $size='thumbnail'){
	if ($postid){
		$post_thumbnail_id = get_post_thumbnail_id( $post_id );
		if ($post_thumbnail_id && $post_thumbnail_id!=""){
			//esiste immagine in evidenza
			return wpmrx_get_attachment_image_src( $post_thumbnail_id, $size, false );
		}else{
			//cerco tra le immagini
			$args = array(
			   'post_type' => 'attachment',
			   'numberposts' => -1,
			   'post_status' => null,
			   'post_parent' => $postid
			  );

			 $attachments = get_posts( $args );
			 if ( $attachments ) {
				return wpmrx_get_attachment_image_src( $attachments[0]->ID, $size, false );
			 }
		}
	}
	return false;
}
Loading Facebook Comments ...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *