WordPress, recuperare la prima immagine di un post


Recuperare la prima immagine di un post
Continuiamo con la serie di articoli sulla personalizzazione del template di WordPress.
Oggi vediamo come recuperare la prima immagine di un post.
Questa funzionalità può essere utilizzata ad esempio, per visualizzare la thumbnail di un articolo in un elenco.
Per ottenere questa features molti utenti WordPress utilizzano i custom fields (campi personalizzati) per salvare l’indirizzo dell’immagine da usare come thumbnail e recuperarla poi dal template relativo.

Questo modo di operare è senza dubbio corretto ma costringe chi scrive l’articolo a dover ricordare di inserire il campo personalizzato.

Un’altro modo è quello di scrivere una semplice funzione php da richiamare nel codice del template.
La funzione servirà per recuperare la prima immagine inserita nel post, se esiste.
In questo modo chi scrive l’articolo non dovrà fare nulla, se non , appunto , scrivere l’articolo.

Per richiamare la funzione basterà inserire il codice

" alt="" width="125px" />

La funzione da creare ed inserire nel file function.php
è dunque la seguente

function get_first_image()
{
	global $post, $posts;
	$first_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/[\'"]([^\'"]+)[\'"].*/" alt="" /i’, $post->post_content, $matches);
	$first_img = $matches [1] [0];
	if(empty($first_img))
        { //Definisco un'immagine di default
		$first_img = "/images/default.jpg";
	}
	return $first_img;
}

Un ottima aggiunta potrebbe essere quella di ridimensionare l’immagine ad esempio utilizzando timthumb come visto negli articoli precedenti.
In questo modo saremmo anche sicuri di non avere antiesteciti problemi di dimensione delle immagini (che risulterebbero tutte uguali) e soprattutto problemi di peso delle immagini .




About Mauro De Filippis 19052 Articles
Laureato in Ingegneria Informatica nel 2008 presso l'Università degli Studi di Lecce con una tesi in Processi di Produzione Robotizzati dal titolo "Integrazione delle tecniche di progettazione del ciclo di lavorazione con programmazione della produzione”. Le mie attività principali sono : sviluppo di applicativi ANSI C per terminali POS basati su processori ARM Risc 32Bit con 2-4 MB di Ram (progettazione, sviluppo e test delle applicazioni ) sviluppo in ambiente .NET sviluppo Web in ambiente PHP, ASP Installazione, progettazione, utilizzo di Db MS SQL Server, Mysql, Acces , Oracle Da anni mi occupo di CMS Open Source, in particolare di Joomla e Wordpress. Mia è la Guida Wordpress 3.5, la Guida Joomla 2.5 , il Corso online Joomla! 2.5 ed il Corso online Wordpress Mi occupo anche di LMS in particolare di Moodle e Docebo. Google+ by Mauro De Filippis

Be the first to comment

Leave a Reply

L'indirizzo email non sarà pubblicato.


*