WordPressに入っていたのですね。Simple Pieです。
キャッシングもしてくれますし、以前は取得した結果をDBに保存したりしてて、損しちゃった。
$feeduri = 'http://example.com/feed/uri/here';
$rss = fetch_feed( $feeduri );
if ( ! is_wp_error( $rss ) ):
$maxitems = $rss->get_item_quantity( 4 ); // 4件表示
$rss_items = $rss->get_items( 0, $maxitems );
endif;
if ( !$rss_items ):
echo '<p><a href="http://example.com/" target="_blank">おもしろブログだよ。読みに来てね♡</a></p>';
else:
foreach ( $rss_items as $i ) {
?>
<li><a href="<?php echo esc_url( $i->get_permalink() ) ?>" target="_blank"><?php echo esc_html( $i->get_title() ); ?></a></li>
<?php
}
endif;
キャッシングは、transient APIなのですが、12時間がデフォルト。変更には下記。
function return_3h( $seconds )
{
return 1*60*60*3;
}
add_filter( 'wp_feed_cache_transient_lifetime' , 'return_3h' );

コメント
コメント一覧 (1件)
[…] し、よそのサイトにも迷惑になりますが、この方法であればデフォルトで12時間キャッシュしてくれます。キャッシュの時間の変更は、フックを通して行います(過去に書いています)。 […]