• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/fetch feed

提供: WordPress Codex 日本語版
< 関数リファレンス
2011年1月8日 (土) 02:00時点におけるKhoshino (トーク | 投稿記録)による版

移動先: 案内検索

この関数は、外部の RSS フィードを取得して解析します。

WordPress の本体に含まれているオープンソースの SimplePie を使用しており、キャッシュを自動で生成する機能も用意されています。

使い方

<?php $feed = fetch_feed( $uri ); ?>

パラメータ

$uri
文字列) 取得したい RSS 配信の URI 。フィードを指定することで、 SimplePie に返され、出力されます。初期値は無し。

用例

以下のサンプルのソースコードでは、既存の外部の RSS フィードを取得して、最新5件を表示させることができます。

<h2><?php _e('Recent news from Some-Other Blog:'); ?></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');
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) echo '<li>No items.</li>';
    else
    // 取得できた RSS フィードが0件の時は「No items.」と表示します。
    // 取得できた RSS フィードが1件以上あった時は、以下のように RSS のデータを繰り返します。
    // なお、取得したい RSS のデータは、$itemにあるデータであれば、他のデータも表示させることができます。
    // 以下では、取得してきた外部の RSS フィードの記事タイトルを表示して、その記事へのリンクを実現しています。
    foreach ( $rss_items as $item ) : ?>
    <li>
        <a href='<?php echo $item->get_permalink(); ?>'
        title='<?php echo 'Posted '.$item->get_date('j F Y | g:i a'); ?>'>
        <?php echo $item->get_title(); ?></a>
    </li>
    <?php endforeach; ?>
</ul>