別のWordPressブログのフィード取得して表示、の失敗メモ(※情報古いです)

2011年3月7日

##2012.01.26補足
この内容はもう使えません。WordPress3.3以降には当てはまらない内容です。

なんてことのない単純ミスの覚え書き。

このブログの新着記事タイトル3件を、今作ってるお仕事用サイト(同じくWordPress)で表示させたかったので、

<?php
include_once(ABSPATH . WPINC . '/rss.php');
$rss = fetch_rss('https://mypacecreator.net/feed');
$maxitems = 3; //新着3件を取得
$items = array_slice($rss->items, 0, $maxitems);
?>
<ul>
<?php if (empty($items)) echo '<li>RSSは配信されていないようです</li>';
else
foreach ( $items as $item ) : ?>
<li><a href="<?php echo $item['link']; ?>" title="<?php echo $item['title']; ?>"><?php echo $item['title']; ?></a></li>
<?php endforeach; ?>
</ul>

っていうコードを書いたら、

エラーが発生しました。ご指定のフィードは現在利用できないようです。後ほど再度お試しください。

って怒られた。

えーなんでーと思ってちょこっと調べたらホントに単純なことだった。

3行目、

$rss = fetch_rss('https://mypacecreator.net/feed');

じゃなくて、

$rss = fetch_rss('https://mypacecreator.net/feed/rss');

だった。
なんだよー、/feedだけでもRSS見れるじゃんかよー、と思ったけどダメらしい。

ちなみに、取得する外部ブログもWordPressの場合、もっと単純に

<?php
include_once(ABSPATH . WPINC . '/rss.php');
$rss = wp_rss('https://mypacecreator.net/feed/rss');
?>

だけでもOK。

こうすると、RSS配信元のWordPress側で設定されてる件数が取得できて、しかも

  • が勝手についてくる。
    お手軽。

    今回は取得件数をいじりたかったのでfetch_rssのやり方を採用。