nicholことデザイナーの勝田です。
デザインと構築が主な仕事で、このブログの作者です。
Wordpressの構築は素人なので、のめりこんで作ってたら、いつのまにかたかみーに初投稿を奪われていました。なんと。。
それはそうと、このブログのサイドに社長andチーフディレクターのブログがアーカイブされているのですが、ここでちょっとハマった問題について書きたいと思います。
RSSをアーカイブさせる方法は、大きく分けて
1.プラグインを使う
2.直接phpを書く
があると思うんですが、「余計なプラグインを入れるな」というチーフディレクターからの命令により今回は後者の方法を選びました。
phpはまったくわからないため、ググってソースを探してたら、WebTecNoteさんで
という記事を発見。さっそくテンプレートに書き加えてみる。
これでRSS表示はOKなんですが、このままだと日付表示ができない。
ここでたかみー参戦。
PHPの知識があるたかみーに手伝ってもらいつつ、日付表示のためのソースを打ってみる。
でも、出ない。。
RSS側では日付はpudDateで囲まれてるから、素人考えでは、
[php]<?php echo $item[‘pudDate’]; ?>[/php]
でいけるんじゃないの?とやってみたけどひたすら表示されない。
あきらめかけたころ、
RSSフィードを取得して各ブログの新着記事を日付順にソートして表示する
という記事を発見。やってみる。
…出た!!!
でもなんで?とソースをよく見てみると、pudDateがpubdateになってることにたかみーが気づく。
まさか、こんなことで??と思いながらはじめのソースに加えてみると、
いけました。
なんということでしょう・・
あまりに簡単なことに、脱力してしまいました。
これを機に、PHPも勉強せなあかんなあ、と思った一日でした。
ちなみに、完成したソースがこれ↓です。
[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; ?>[/php]