0

我有一个应用程序,可以在最后一篇文章后 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 个预定帖子

4

0 回答 0