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

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

「関数リファレンス/fetch feed」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(関連,カテゴリ,最新英語版リンク追加(英語版ページにも日本語ページへの言語間リンクを挿入))
(最新のマージ {{原文|Function Reference/fetch feed|152346}}<!-- 02:10, 19 June 2015‎ Joshstauffer 版 -->)
16行目: 16行目:
 
</div>
 
</div>
 
; $uri
 
; $uri
: (''文字列'') 取得したい RSS 配信の URI 。フィードを指定することで、 SimplePie に返され、出力されます。初期値は無し。
+
: (''mixed'') 取得したい RSS 配信の URI 。URIの配列場合、フィードはSimplePieのマルチフィード機能を使用してマージされます。フィードを指定することで、SimplePie に返され、出力されます。初期値は無し。
  
 
<div id="Examples">
 
<div id="Examples">
24行目: 24行目:
 
以下のサンプルのソースコードでは、既存の外部の RSS フィードを取得して、最新5件を表示させることができます。
 
以下のサンプルのソースコードでは、既存の外部の RSS フィードを取得して、最新5件を表示させることができます。
  
<pre>
+
<pre><h2><?php _e( 'Recent news from Some-Other Blog:', 'my-text-domain' ); ?></h2>
<h2><?php _e('Recent news from Some-Other Blog:'); ?></h2>
+
 
 
<?php // RSS フィードを取得します。
 
<?php // RSS フィードを取得します。
include_once(ABSPATH . WPINC . '/feed.php');
+
include_once( ABSPATH . WPINC . '/feed.php' );
  
 
// 以下で、指定されたフィードから SimplePie のオブジェクトを取得します。
 
// 以下で、指定されたフィードから SimplePie のオブジェクトを取得します。
 
// つまり、「http://example.com/rss/feed/goes/here」部分に取得したいフィードを入力すると、SimplePieによってRSSが表示されます。
 
// つまり、「http://example.com/rss/feed/goes/here」部分に取得したいフィードを入力すると、SimplePieによってRSSが表示されます。
 
// なお、この部分について array 関数を使い、配列にすれば、複数の RSS フィードを同時に取得して、複数の RSS フィードを1つにまとめて時系列に並べて表示することもできます。
 
// なお、この部分について array 関数を使い、配列にすれば、複数の RSS フィードを同時に取得して、複数の RSS フィードを1つにまとめて時系列に並べて表示することもできます。
$rss = fetch_feed('http://example.com/rss/feed/goes/here');
+
$rss = fetch_feed( 'http://example.com/rss/feed/goes/here' );
if (!is_wp_error( $rss ) ) : // ちゃんとフィードが生成されているかをチェックします。
+
 
 +
$maxitems = 0;
 +
 
 +
if ( ! is_wp_error( $rss ) ) : // ちゃんとフィードが生成されているかをチェックします。
 +
 
 
     // すべてのフィードから最新5件を出力します。
 
     // すべてのフィードから最新5件を出力します。
     $maxitems = $rss->get_item_quantity(5);  
+
     $maxitems = $rss->get_item_quantity( 5 );  
  
 
     // 0件から始めて指定した件数までの配列を生成します。
 
     // 0件から始めて指定した件数までの配列を生成します。
     $rss_items = $rss->get_items(0, $maxitems);  
+
     $rss_items = $rss->get_items( 0, $maxitems );
 +
 
 
endif;
 
endif;
 
?>
 
?>
  
 
<ul>
 
<ul>
     <?php if ($maxitems == 0) echo '<li>No items.</li>';
+
     <?php if ( $maxitems == 0 ) : ?>
     else
+
        <li><?php _e( 'No items', 'my-text-domain' ); ?></li>
    // 取得できた RSS フィードが0件の時は「No items.」と表示します。
+
     <?php else : ?>
    // 取得できた RSS フィードが1件以上あった時は、以下のように RSS のデータを繰り返します。
+
        <?php // Loop through each feed item and display each item as a hyperlink. ?>
    // なお、取得したい RSS のデータは、$itemにあるデータであれば、他のデータも表示させることができます。
+
        <?php foreach ( $rss_items as $item ) : ?>
    // 以下では、取得してきた外部の RSS フィードの記事タイトルを表示して、その記事へのリンクを実現しています。
+
            <li>
    foreach ( $rss_items as $item ) : ?>
+
                <a href="<?php echo esc_url( $item->get_permalink() ); ?>"
    <li>
+
                    title="<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>">
        <a href='<?php echo $item->get_permalink(); ?>'
+
                    <?php echo esc_html( $item->get_title() ); ?>
        title='<?php echo 'Posted '.$item->get_date('j F Y | g:i a'); ?>'>
+
                </a>
        <?php echo $item->get_title(); ?></a>
+
            </li>
    </li>
+
        <?php endforeach; ?>
    <?php endforeach; ?>
+
    <?php endif; ?>
</ul>
+
</ul></pre>
</pre>
+
  
{{原文|Function Reference/fetch feed|96658}}<!-- 22:18, 19 December 2010 SergeyBiryukov 版 -->
+
== 注 ==
 +
<code>fetch_feed</code> キャッシュは、デフォルトでは12時間です。
 +
[[Plugin_API/Filter_Reference/wp_feed_cache_transient_lifetime|wp_feed_cache_transient_lifetime]]フィルタを介して、時間間隔を変更することによって、これを変更することができます。
  
 +
== 更新履歴 ==
 +
 +
新規導入: [[Version 2.8]]
 +
 +
== ソースファイル ==
 +
 +
<code>fetch_feed</code> は {{Trac|wp-includes/feed.php}}にあります。
 
==関連==
 
==関連==
  
 
* [http://simplepie.org/wiki/reference/start#simplepie_item SimplePie Documentation]
 
* [http://simplepie.org/wiki/reference/start#simplepie_item SimplePie Documentation]
  
 +
 +
{{原文|Function Reference/fetch feed|152346}}<!--  02:10, 19 June 2015‎ Joshstauffer 版 -->
 
{{Tag Footer}}
 
{{Tag Footer}}
  
 
[[Category:関数]]
 
[[Category:関数]]

2015年8月23日 (日) 11:16時点における版

この関数は、外部の 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フィルタを介して、時間間隔を変更することによって、これを変更することができます。

更新履歴

新規導入: Version 2.8

ソースファイル

fetch_feedwp-includes/feed.phpにあります。

関連


最新英語版: WordPress Codex » Function Reference/fetch feed最新版との差分

関数リファレンステンプレートタグ目次もご覧ください。