外部サイトのリディストリビュ~ションの更新情報を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日に何度か更新するのですが、記事を公開した日時での表示にしてみました。




