私は5つの異なるフィードから最新の10の投稿をまとめて1つのリストにまとめようとしています。フィードを組み合わせる方法を見つけましたが、それらを10個に制限して日付順にソートすることはできませんでした。
誰かが私を正しい方向に向けることができますか?ありがとうございます。
<ul>
<?php $rsslist = array(
'http://www.nrel.gov/news/press/rss/rss.xml',
'http://www.pewenvironment.org/rss/campaigns-8589935316',
'http://www.ashrae.org/RssFeeds/ashrae.xml',
'http://www.districtenergy.org/blog/category/idea-activity/feed/',
'http://www.districtenergy.org/blog/category/industry-news/feed/'
);
$feedlist = array();
foreach ( $rsslist as $rssurl ) $feedlist []= fetch_feed( $rssurl ); /* store in feed array for later access */
$current_item_cycle = 0;
while ( sizeof($feedlist) ) { /* while feedlist is not empty */
foreach ( $feedlist as $index => $feed ) { /* cycle through each feed */
if (!$item = $feed->get_item($current_item_cycle++)) unset($feedlist[$index]); /* if feed has not more items unset */
else /* echo it out */ { ?>
<li>
<?php echo $item->get_date('j F Y | g:i a') . $item->get_permalink(); ?>
</li>
<?php }
}
} ?>
</ul>
このコードはうまくいくはずです。私はあなたのフィードの1つをコメントアウトしました。コメントを外すと、正しくソートされなくなります。何か問題があるようです。他のブラウザと同じようにブラウザで正しくフォーマットされません。
<ul>
<?php
$rsslist = array(
#'http://www.pewenvironment.org/rss/campaigns-8589935316',
'http://www.ashrae.org/RssFeeds/ashrae.xml',
'http://www.districtenergy.org/blog/category/idea-activity/feed/',
'http://www.districtenergy.org/blog/category/industry-news/feed/',
'http://www.nrel.gov/news/press/rss/rss.xml'
);
// Fetch all of the feeds into a simplePie mashup
$rss = fetch_feed($rsslist);
// Set the max items to either 10 or all items if there are less than 10
$maxitems = $rss->get_item_quantity(10);
// Get the items (0-10)
$rss_items = $rss->get_items(0, $maxitems);
// If there are no items, output that
if ($maxitems == 0) {
echo '<li>No items.</li>';
// Otherwise loop over the items
} else {
foreach ( $rss_items as $item ) { ?>
<li>
<?php echo $item->get_date() . $item->get_permalink(); ?>
</li>
<?php
}
}
?>
</ul>