Come usare i Custom Fields di Wordpress

I Custom Fields di Wordpress sono degli attributi che possiamo associare ad ogni singolo post del nostro blog. Essi si trovano nella pagina "Write Post", tra le opzioni in basso.

Attraverso essi possiamo specificare dei comportamenti associabili al post, senza per questo dover realizzare del plugin che comporterebbero più tempo e quindi soldi.

Un pratico esempio di utilizzo dei Custom Fields è associare ad un singolo post un indirizzo dove per esempio compare una mappa del luogo che descriviamo nel post. Come fare ciò? Creaiamo un Custom Field mettendo come key mappa e valore un indirizzo di Google Maps.

A questo punto andiamo a modificare il template del nostro blog modificando i files index.php, archive.php, single.php, page.php.

In ognuno di essi compare la riga dove viene specificato il titolo del post. Prima di questa riga inseriamo il seguente codice:

<?php
$mappa = get_post_meta($id, 'mappa', true);
if ($mappa != '') {
echo "<a href='".$mappa."' class='mappa' alt='Mappa'
title='Mappa'>Mappa</a>";
}
?>

Cosa fa questo codice PHP? La funzione get_post_meta() è fornita da Wordpress, e ritorna - dati gli attributi scritti - il valore del Custom Field chiamato 'mappa' del post $id, cioè quello corrente. Quindi se il valore di questo Custom Field è diverso da '' (niente), inserisco nel codice HTML un tag a, che riporta un collegamento alla mappa indicata.

L'attributo class ci permette di associare uno stile, nel CSS, a questo elemento. Una particolarità va detta per il file index.php dove la riga di determinazione dell'id del post sarà modificata così

id="post-<?php $id << the_ID(); ?>"

anzichè

id="post-<?php the_ID(); ?>"

A questo punto per ogni post che riporta il custom field "mappa" verrà visualizzato a fianco del titolo un collegamento alla mappa del luogo di cui parliamo. Possiamo mostrare una immagine della mappa, applicandola allo sfondo del tag a.mappa con i CSS.

Mappa a parte, questa idea è applicabile a innumerevoli situazioni, come illustrerò prossimamente in un esempio dedicato alla traduzione del blog, fatta in un modo un po fuori dal comune.

Avete altre idee su come utilizzare i Custom Fields?