WordPressに入ってる仕組みを使ってよそのサイトのRSSを取得してテーマ内で表示のメモ

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">おもしろブログだよ。読みに来てね&#9825;</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' );

参考:http://codex.wordpress.org/Function_Reference/fetch_feed

↓ プラグインを作る方々への本、書きました。 ↓

“WordPressに入ってる仕組みを使ってよそのサイトのRSSを取得してテーマ内で表示のメモ” への 1 件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です