WordPress: creare un feed JSON

WordPress: creare un feed JSON

I feed JSON non sono consigliati per vari motivi. Innanzitutto, trattandosi comunque di JavaScript, possono porre dei problemi di sicurezza in quei browser che non hanno ancora implementato i metodi nativi per il parsing e l'esecuzione del codice contenuto nei feed (in IE6 e 7 si deve ancora usare eval()). Un altro problema è quello del consumo di risorse da parte di siti di terze parti mediante inclusione o scraping. Tuttavia, implementare un feed JSON in WordPress è possibile. Vediamo come.

WordPress possiede dei metodi nativi solo per i feed RSS e Atom. Per i feed JSON dovremo creare una sezione dedicata e usare il seguente codice, che reperisce i dieci post più recenti completi di titolo, riassunto, data e URL:


header('Content-Type: application/json');
$connection = mysql_connect('host', 'xxxx', 'xxxx');
mysql_select_db('xxxx', $connection);


$query = "SELECT post_date, guid, post_excerpt, post_title, 
		  post_type FROM wp_posts WHERE post_type = 'post' 
		  ORDER BY post_date DESC LIMIT 10";

if($result = mysql_query($query, $connection)) {

	$json_data = array();
	
	
	while($results = mysql_fetch_assoc($result)) {
	
		$json_data[] = array(
							'title' => $results['post_title'],
							'guid' => $results['guid'],
							'excerpt' => $results['post_excerpt'],
							'date' => $results['post_date']
							);
			
	}
	


}

echo json_encode($json_data);

Ecco un possibile output:


[{	"title":"CSS: didascalie di tabella verticali",
	"guid":"http:\/\/gabrieleromanato.com\/?p=2267",
	"excerpt":"Un test sul posizionamento e le trasformazioni CSS3 applicati alle didascalie delle tabelle.",
	"date":"2011-12-14 08:30:10"},
	
	// continua
	
}]

In questo caso abbiamo usato un JSON semplice. Se volete usare JSONP (JSON with Padding) dovete specificare per prima cosa una funzione di callback con cui usare il vostro codice:


Funzione({
	[]
});

Per maggiori dettagli, seguite questa discussione.

Non è finita. Dovete anche autorizzare il sito remoto ad accedere alla vostra risorsa per non incorrere nella same-domain policy dei browser. Il modo più semplice è usare il file .htaccess come descritto in questo post.

Verificate sempre che il vostro web server consenta le operazioni descritte nelle risorse elencate.

Torna su