RSSフィードで複数サイトの新着一覧アイコン付

に成功しました!

新着一覧は、ググればいっぱい出てきますので・・
しかし、最初に使用した rss.php を使用したコードは、WP3.0から非推奨になっており、WPのデバッグをONにするとエラー表示に。そのアラートの指示に従って、class-simplepie.php を使用したものに変更します。
ここまでは簡単で、構築作業をスタートした1月には用意できたのですが・・

<各サイト毎に専用のアイコンを付ける>がウェブ上をほっつき歩いていないみたいで(捜し方が悪いのか?)、珍しく独力で書くことにしました。

私(だけ?)のやり方ですが、
まずこのようにならないか、なってほしい、というイメージのコードを「<?php if」と「echo」と「else」と「?>」以外は漢字とひらがなで記述します。
あとはそれを実現できるコードを必死で探し、漢字ひらがなを差し替えていくだけ。なんですが・・!

1月に一覧表示に成功した後、しばらくチャレンジしたのですがうまくいかず、諦めてお客さんにプレゼンをスタート。そのために各サイトには認証をつけますので、フィードは読み込まれなくなります。コードがうまく機能しているかどうか確認できなくなります。で、どうしたか? 私は午前0時を回ってからこっそり認証を解除して作業をすることにしました。悪戦苦闘ぶりは見せたくありませんので!
そんなハンデ?もあり、2月は別の仕事も忙しく、全く掛かれませんでした。

3月に入っても似たような状況だったのですが、その間にそれ以外のサイト構築は終了し、公開していいよということになったのが、14日午後です。多少焦りながら、作業を再開。しかし割とあっさりとうまくいきました。1月に苦戦したのがウソのよう! 1月にすでに書き上げてあったコードをあまり変更せずに使用して。こんなものかと・・

備忘録として・・
※おそらくベストなコードではないでしょう。

<h1>グループからのお知らせ</h1>
<?php include_once(ABSPATH . WPINC . ‘/class-simplepie.php’);
$feed = new SimplePie();
$feed->set_feed_url(array(
‘http://site-a’,
‘http://site-b’,
‘http://site-c’,
));
$feed->set_item_limit(3);
$feed->init();
$items = $feed->get_items();
foreach($items as $item)
: ?>
<ul>
<li><a href='<?php echo $item->get_permalink(); ?>’ title=”>
<?php if(preg_match(“/site-a固有の文字列/”,$item->get_permalink())){echo ‘<img src=”icon-site-a.png” alt=””>’;}
else if(preg_match(“/site-b固有の文字列/”,$item->get_permalink())){echo ‘<img src=”icon-site-b.png” alt=””>’;}
else if(preg_match(“/site-c固有の文字列/”,$item->get_permalink())){echo ‘<img src=”icon-site-c.png” alt=””>’;} ?>
</a>
<h2><a href='<?php echo $item->get_permalink(); ?>’ title=”>
<?php echo $item->get_title(); ?></a></h2>
<a href='<?php echo $item->get_permalink(); ?>’ title=”>
<?php echo $item->get_feed()->get_title(); ?> <?php echo $item->get_date(“Y年n月j日”); ?>
</a>
</li>
</ul>
<?php endforeach; ?>

しっかし、うれしかったです。それぞれのサイトに対するアイコンがちゃんと表示された時! 今年に入ってから現時点までで、うれしさ総合ランキング第2位です!
昨日抽選のあったグリーンジャンボ、生涯最後の購入だったのですが(もう二度と買わないという意味)、ハズレ! しかし、当たったのと変わらないくらいのうれしさでした! ホントだって・・