Skip to content

Visualizzare articoli da un feed in una pagina di WordPress

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' );

Articolo precedente

Articolo successivo

Discussione

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.