サポート » 使い方全般 » 複数のRSSフィードの表示(rss.phpからfeed.phpへ変更)

  • WordPress 3.3.2にアップデート後、下記のコードでエラーが出るようになり困っています。

    include_once( ABSPATH .WPINC.’/rss.php’ );

    //RSSのキャッシュ設定
    define( ‘MAGPIE_OUTPUT_ENCODING’, ‘UTF-8’ );
    define( ‘MAGPIE_CACHE_DIR’, ‘./cache’ );
    define( ‘MAGPIE_FETCH_TIME_OUT’, 30 );
    define( ‘MAGPIE_CACHE_AGE’, 60*60 );

    $rss_url = array(
    http://www.xxx.jp/1/index.rdf’,
    http://www.xxx.jp/2/index.rdf’,
    http://www.xxx.jp/3/index.rdf’
    );

    foreach ( $rss_url as $key => $value ) {
    $rss = fetch_rss( $value );
    $maxitems = 5;
    $items[$key] = array_slice( $rss->items, 0, $maxitems );
    }

    //配列の整形
    $total_items = array();
    foreach ( $items as $key => $val ) {
    foreach ( $val as $k => $v ) {
    $total_items[] = $v;
    }
    }

    foreach( $total_items as $k => $v ) {
    $dc[$k] = $v[‘dc’][‘date’];
    }

    array_multisort( $dc, SORT_DESC, $total_items );

    function blog_title( $url ) {
    $rss_blog = array(
    0 => array(
    “url” => “http://www.xxx.jp/1/”,
    “title” => “ブログ1”
    ),
    1 => array(
    “url” => “http://www.xxx.jp/2/”,
    “title” => “ブログ2”
    ),
    2 => array(
    “url” => “http://www.xxx.jp/3/”,
    “title” => “ブログ3”
    )
    );

    $blog_title = ”;
    foreach ( $rss_blog as $v ) {
    if ( strpos( $url, $v[‘url’] ) !== FALSE ) {
    $blog_title = $v[‘title’];
    break;
    }
    }
    return $blog_title;
    }

    function blog_class( $url ) {
    $rss_blog = array(
    0 => array(
    ‘url’ => ‘http://www.xxx.jp/1/’,
    ‘class’ => ‘class1’
    ),
    1 => array(
    ‘url’ => ‘http://www.xxx.jp/2/’,
    ‘class’ => ‘class2’
    ),
    2 => array(
    ‘url’ => ‘http://www.xxx.jp/3/’,
    ‘class’ => ‘class3’
    )
    );

    $blog_class = ”;
    foreach ( $rss_blog as $v ) {
    if ( strpos( $url, $v[‘url’] ) !== FALSE ) {
    $blog_class = $v[‘class’];
    break;
    }
    }
    return $blog_class;
    }

    フィードは表示されるものの

    Warning: array_slice() expects parameter 1 to be array, null given in 〜 on line 44
    Warning: Invalid argument supplied for foreach() in 〜 on line 50

    とエラーが出ます。

    rss.phpが非推奨でfeed.phpを使用しないといけないのかなと思いつつも調べてもよく分からなかったので質問させていただきました。

    宜しくお願い致します。

  • トピック「複数のRSSフィードの表示(rss.phpからfeed.phpへ変更)」には新たに返信することはできません。