我有一个应用程序,可以在最后一篇文章后 3 小时将预定的帖子发布到页面上。
问题是似乎没有一种快速的方法(我发现)可以按降序检索所有预定的帖子,因此最新日期的帖子在列表中排在第一位
是否有 fql 查询或其他方式可以以相反的顺序恢复所有预定的帖子,以便我可以轻松地从第一个数组键中获取 schedule_publish_time?
我正在使用的代码是
$posts = $facebook->api($fanpage.'/promotable_posts?limit=500');
$scheduledposts = array();
if($posts){
// find last published post
$time = time();
foreach($posts['data'] as $post){
if($post['is_published'] == false){
$scheduledposts[] = $post;
if($time < $post['scheduled_publish_time']){
$time = $post['scheduled_publish_time'];
}
}
}
$timetopost = $time + 10800;
}
// sort scheduled posts by order of scheduled_publish_time in reverse
usort($scheduledposts, function($a, $b) {
return $b['scheduled_publish_time'] - $a['scheduled_publish_time'];
});
$posts 数组的顺序并不总是按时间顺序排列,如果日程表中有超过 500 个帖子怎么办?我希望能够仅检索距离 schedule_publish_date 最远的最后 5 个预定帖子