ホーム > WordPress | テンプレート > 外部サイトのAtomフィードを取得して表示させてみる。

外部サイトのリディストリビュ~ションの更新情報をTopに表示(RSSより取得)させてましたが、WP2.9.xにアップデート後、投稿日時が何故か投稿を押した時間(公開時間で取れない)で取得されるようになったので、Atomフィードから取るように変更してみました。


RSSフィードの取得はこちら:外部サイトのRSSフィードを取得して表示させてみる。

殆どコードはいぢらないでいけるので楽です(゜-゜)

	<div class="box_left">
		<h3>リディストリビュ~ション更新履歴</h3>
			<?php
				include_once(ABSPATH . WPINC . '/rss.php');
				date_default_timezone_set('Asia/Tokyo');

			//フィードのURI
			$rss_arr = array(
			    'http://www.redistribution.cc/feed/atom'
				);

			//表示件数
			$num = 5;

				foreach($rss_arr as $uri)
			{
			$rss = fetch_rss($uri);

			$title = $rss->channel['title'];
			$link  = $rss->channel['link'];

			foreach($rss->items as $item)
			{
			$item_title = $item['title'];
			$item_link  = $item['link'];
			$item_date  = $item['published'];
			$out_item_date  = date('Y年m月d日 H時i分', strtotime($item_date));
			$thumbnail = get_bloginfo('template_directory')."/images/18r.gif";
			$out_item = '
        	<ul class="entry_list">
			<li class="image"><a href="' . $item_link . '" target="_blank"><img src="' . $thumbnail . '" title="' . $item_title . 'の記事を読む?" hspace="0" align="left" width="50" height="38" /></a></li>
			<li class="date"><strong>' . $out_item_date . '</strong> 投稿</li>
			<li class="title"><a href="' . $item_link . '" target="_blank">' . $item_title . '</a></li>
			<dd style="font-size:77%;">
			サイト:<a href="' . $link . '" title="' . $title . 'へいってみます?" target="_blank">' . $title . '</a>
			</dd>

			</ul>
			';

			$unix_time = date('U', strtotime($item_date));
			$item_arr[$unix_time] = $out_item;
		}
	}

			//ソート
			krsort($item_arr);

			//出力
			for(reset($item_arr); $key = key($item_arr); next($item_arr))
			{
				echo $item_arr[$key];

				++$count;

				if($count === $num)
			{
				break;
		}
	}
			?>
	</div>

RSSからの変更点は・・・
フィードのURIをAtomに変更
$item_date = $item['pubdate'];のpubdateをpublishedに変更
だけで可能です。
ちなみにpublishedをupdatedにすると記事を更新した時間を取得できます。
published:記事を公開した日時
updated:記事を更新した日時(更新を押した時間になります。)

リディストリビュ~ションは1日に何度か更新するのですが、記事を公開した日時での表示にしてみました。

「外部サイトのAtomフィードを取得して表示させてみる。」 について、Twitterでつぶやく

関連記事