在PHP中反转摄取的RSS提要的排序顺序

时间:2016-10-25 19:32:22

标签: wordpress

我有一个网站,我从一个辅助网站RSS提要“拉”本地事件。我有这个工作但是饲料以相反的顺序显示,当地事件日期(即10月底与今天的事件日期)显示在顶部而不是底部。

以下是我用于Feed摄取的代码:

<?php if(function_exists('fetch_feed')) {

include_once(ABSPATH . WPINC . '/feed.php'); // include the required file
$feed = fetch_feed('http://sample.com.au/events/feed/');  // specify the source feed

$limit = $feed->get_item_quantity(25); // specify number of items
$semti = array_flip($limit);
$items = $feed->get_items(0, $limit); // create an array of items

}
if ($limit == 0) echo '<div>The feed is unavailable.</div>';
else foreach ($items as $item) : ?>

<p><b><a href="<?php echo esc_url( $item->get_permalink() ); ?>" target="_blank">
<?php echo esc_html( $item->get_title() ); ?></a></b>
<?php echo esc_html( $item->get_date('| j F | g:i a') ); ?><br>
<?php echo sanitize_text_field( $item->get_content() ); ?>
</p>  

<?php endforeach; ?>

这非常适合获取我的远程RSS源并显示标题,事件日期和摘录,但顺序是反向排序的。

我尝试在“foreach($ items $ items):”区域添加“sort and ksort”等过滤器,但这对我不起作用。我在这个问题上绞尽脑汁,希望有人可以帮助我。我提前感谢任何指导/帮助。

1 个答案:

答案 0 :(得分:1)

尝试适当命名的setTimeout函数!

array_reverse

From PHP.net

  

array_reverse

     

以相反顺序返回包含元素的数组

     

<?php if(function_exists('fetch_feed')) { include_once(ABSPATH . WPINC . '/feed.php'); // include the required file $feed = fetch_feed('http://sample.com.au/events/feed/'); // specify the source feed $limit = $feed->get_item_quantity(25); // specify number of items $items = $feed->get_items(0, $limit); // create an array of items $semti = array_reverse($items); // & flip it } if ($limit == 0) echo '<div>The feed is unavailable.</div>'; else foreach ($semti as $item) : ?> <p><b><a href="<?php echo esc_url( $item->get_permalink() ); ?>" target="_blank"> <?php echo esc_html( $item->get_title() ); ?></a></b> <?php echo esc_html( $item->get_date('| j F | g:i a') ); ?><br> <?php echo sanitize_text_field( $item->get_content() ); ?> </p> <?php endforeach; ?>

     

获取一个输入数组并返回一个新数组,其中元素的顺序相反。