fetch_feed()


WordPressのfetch_feed()関数は、指定されたURLのフィードを取得するために使用されます。この関数は、RSSやAtomフィードを操作する際に役立ちます。

構文

fetch_feed( string $url );
  • $url (string) — フィードを取得するURL。

例1: フィードを取得して表示する

以下のコードは指定したURLのフィードを取得し、タイトルを表示します。

<?php
include_once( ABSPATH . WPINC . '/feed.php' );
$rss = fetch_feed( 'https://example.com/feed/' );
if ( ! is_wp_error( $rss ) ) {
    $maxitems = $rss->get_item_quantity( 5 );
    $rss_items = $rss->get_items( 0, $maxitems );
}
?>
<?php if ( ! empty( $rss_items ) ) : ?>
<ul>
    <?php foreach ( $rss_items as $item ) : ?>
        <li><a href="<?php echo esc_url( $item->get_permalink() ); ?>"><?php echo esc_html( $item->get_title() ); ?></a></li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>

例2: フィード取得にエラーがある場合の確認

エラーが発生した場合に、エラーメッセージを表示するコード例。

<?php
$rss = fetch_feed( 'https://example.com/feed/' );
if ( is_wp_error( $rss ) ) {
    echo 'フィードの取得に失敗しました: ' . $rss->get_error_message();
}
?>

例3: 特定のフィードアイテムの公開日を表示する

以下のコードは、フィードアイテムの公開日を表示します。

<?php
$rss = fetch_feed( 'https://example.com/feed/' );
if ( ! is_wp_error( $rss ) ) {
    $items = $rss->get_items();
    foreach ( $items as $item ) {
        echo $item->get_date( 'Y-m-d' );
    }
}
?>

例4: フィードの最大アイテム数を制限する

以下のコードは最大3件のフィードアイテムを取得します。

<?php
$rss = fetch_feed( 'https://example.com/feed/' );
if ( ! is_wp_error( $rss ) ) {
    $rss_items = $rss->get_items( 0, 3 );
}
?>

例5: 複数のフィードURLを処理する

複数のURLからフィードを取得する例です。

<?php
$urls = [ 'https://example.com/feed/', 'https://example.org/feed/' ];
foreach ( $urls as $url ) {
    $rss = fetch_feed( $url );
    if ( ! is_wp_error( $rss ) ) {
        $items = $rss->get_items( 0, 5 );
        foreach ( $items as $item ) {
            echo $item->get_title();
        }
    }
}
?>

注意事項

fetch_feed()関数を使用する前にABSPATH . WPINC . '/feed.php'をインクルードする必要があります。

フィードのURLが正しい形式でない場合、エラーが発生する可能性があります。

外部リソースに依存するため、フィードが利用できない場合を考慮したエラーハンドリングが推奨されます。


関連機能: