- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
関数リファレンス/fetch feed
提供: WordPress Codex 日本語版
< 関数リファレンス
この関数は、外部の RSS フィードを取得して解析します。
WordPress の本体に含まれているオープンソースの SimplePie を使用しており、キャッシュを自動で生成する機能も用意されています。
使い方
<?php $feed = fetch_feed( $uri ); ?>
パラメータ
- $uri
- (mixed) 取得したい RSS 配信の URI 。URIの配列場合、フィードはSimplePieのマルチフィード機能を使用してマージされます。フィードを指定することで、SimplePie に返され、出力されます。初期値は無し。
用例
以下のサンプルのソースコードでは、既存の外部の RSS フィードを取得して、最新5件を表示させることができます。
<h2><?php _e( 'Recent news from Some-Other Blog:', 'my-text-domain' ); ?></h2> <?php // RSS フィードを取得します。 include_once( ABSPATH . WPINC . '/feed.php' ); // 以下で、指定されたフィードから SimplePie のオブジェクトを取得します。 // つまり、「http://example.com/rss/feed/goes/here」部分に取得したいフィードを入力すると、SimplePieによってRSSが表示されます。 // なお、この部分について array 関数を使い、配列にすれば、複数の RSS フィードを同時に取得して、複数の RSS フィードを1つにまとめて時系列に並べて表示することもできます。 $rss = fetch_feed( 'http://example.com/rss/feed/goes/here' ); $maxitems = 0; if ( ! is_wp_error( $rss ) ) : // ちゃんとフィードが生成されているかをチェックします。 // すべてのフィードから最新5件を出力します。 $maxitems = $rss->get_item_quantity( 5 ); // 0件から始めて指定した件数までの配列を生成します。 $rss_items = $rss->get_items( 0, $maxitems ); endif; ?> <ul> <?php if ( $maxitems == 0 ) : ?> <li><?php _e( 'No items', 'my-text-domain' ); ?></li> <?php else : ?> <?php // Loop through each feed item and display each item as a hyperlink. ?> <?php foreach ( $rss_items as $item ) : ?> <li> <a href="<?php echo esc_url( $item->get_permalink() ); ?>" title="<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>"> <?php echo esc_html( $item->get_title() ); ?> </a> </li> <?php endforeach; ?> <?php endif; ?> </ul>
注
fetch_feed
キャッシュは、デフォルトでは12時間です。
wp_feed_cache_transient_lifetime /enフィルタを介して、時間間隔を変更することによって、これを変更することができます。
更新履歴
新規導入: Version 2.8
ソースファイル
fetch_feed
は wp-includes/feed.php
にあります。
関連
最新英語版: WordPress Codex » Function Reference/fetch feed (最新版との差分)
関数リファレンス、テンプレートタグ目次もご覧ください。