2009.10.29
nicholことデザイナーの勝田です。
デザインと構築が主な仕事で、このブログの作者です。
Wordpressの構築は素人なので、のめりこんで作ってたら、いつのまにかたかみーに初投稿を奪われていました。なんと。。
それはそうと、このブログのサイドに社長andチーフディレクターのブログがアーカイブされているのですが、ここでちょっとハマった問題について書きたいと思います。
RSSをアーカイブさせる方法は、大きく分けて
1.プラグインを使う
2.直接phpを書く
があると思うんですが、「余計なプラグインを入れるな」というチーフディレクターからの命令により今回は後者の方法を選びました。
phpはまったくわからないため、ググってソースを探してたら、WebTecNoteさんで
という記事を発見。さっそくテンプレートに書き加えてみる。
これでRSS表示はOKなんですが、このままだと日付表示ができない。
ここでたかみー参戦。
PHPの知識があるたかみーに手伝ってもらいつつ、日付表示のためのソースを打ってみる。
でも、出ない。。
RSS側では日付はpudDateで囲まれてるから、素人考えでは、
<?php echo $item['pudDate']; ?>
でいけるんじゃないの?とやってみたけどひたすら表示されない。
あきらめかけたころ、
RSSフィードを取得して各ブログの新着記事を日付順にソートして表示する
という記事を発見。やってみる。
…出た!!!
でもなんで?とソースをよく見てみると、pudDateがpubdateになってることにたかみーが気づく。
まさか、こんなことで??と思いながらはじめのソースに加えてみると、
いけました。
なんということでしょう・・
あまりに簡単なことに、脱力してしまいました。
これを機に、PHPも勉強せなあかんなあ、と思った一日でした。
ちなみに、完成したソースがこれ↓です。
<?php include_once(ABSPATH . WPINC . '/rss.php'); define('MAGPIE_OUTPUT_ENCODING' , 'UTF-8'); define('MAGPIE_CACHE_DIR' , './cache'); define('MAGPIE_FETCH_TIME_OUT', 30); define('MAGPIE_CACHE_AGE', 60*60); $rss = fetch_rss('http://doors.co.jp/toblog/feed'); $maxitems = 3; $items = array_slice($rss->items, 0, $maxitems); ?> <ul> <?php if (empty($items)) echo '<li>No items</li?>'; else foreach ( $items as $item ) : ?> <li> <span> <?php $item_date = $item['pubdate']; $out_item_date = date('Y.n.j', strtotime($item_date)); echo $out_item_date; ?> </span> <a href='<?php echo $item['link']; ?>' target="_blank"> <?php echo $item['title']; ?> </a></li> <?php endforeach; ?>
https://dis.ne.jp/blog/coding/50.html/trackback