Attenzione: questo articolo è stato scritto più di 11 anni fa, alcune informazioni potrebbero essere obsolete.
E’ possibile visualizzare articoli da uno o più feed esterni in una pagina utilizzando un template di pagina, la funzione fetch_feed di WordPress e, se è necessario che siano aggiornati spesso, il filtro wp_feed_cache_transient_lifetime.
Il feed potrebbe essere ad esempio il nostro account di Twitter (che risponde a un link simile a https://twitter.com/status/user_timeline/username.rss), oppure, come nel mio caso, l’RSS dei preferiti di Google Reader (il risultato è visibile nella pagina Preferiti).
Tramite il filtro wp_feed_cache_transient_lifetime è possibile modificare l’aggiornamento del feed a meno di 12 ore, il tempo standard che viene utilizzato da fetch_feed.
Il codice da inserire nella pagina è il seguente:
include_once( ABSPATH . WPINC . '/feed.php' );
/* Imposta l'aggiornamento del feed a un'ora tramite il filtro */
function wporg_filter_handler() {
return 3600;
}
add_filter( 'wp_feed_cache_transient_lifetime', 'wporg_filter_handler' );
/** Recupera i post dal feed **/
$rss = fetch_feed( 'https://feed_url' );
/** Recupera gli ultimi 3 post */
$max_items = $rss->get_item_quantity( 3 );
$rss_items = $rss->get_items( 0, $max_items );
if ( $max_items === 0 ) {
echo 'Nessun post trovato.';
} else {
foreach ( $rss_items as $item ) {
echo '<a href="' . $item->get_permalink() . '" title="' . $item->get_title() . '"
target="_blank">' . $item->get_title() . '</a>';
}
}
/** Dopo aver recuperato i post, elimina il filtro */
remove_filter( 'wp_feed_cache_transient_lifetime', 'wporg_filter_handler' );
Discussione