[英]Check if result is older than 30 days and add header text above
我在Facebook帖子中有一个网格。 我想创建一个存档,人们可以在单击按钮时打开它。 当单击显示超过30天的Facebook帖子时,这需要使用Ajax完成,但这是另一次了。 首先,我需要知道如何在foreach循环中分离数据。
当循环到达30天或更早的第一条帖子时,我希望在其上方显示一个标题文本:“ archive”。
像这样:
post
post
post
post
archive
post(30days or older)
post(30days or older)
post(30days or older)
post(30days or older)
我怎样才能做到这一点? 我已经知道有多少旧帖子了,请参阅我的代码:
foreach ( $feedarray->data as $key => $feed_data )
{
if($feed_data->full_picture != ''){
$fbimage = $feed_data->full_picture;
}else{
$fbimage = 'images/placeholder/placeholder.png';
}
$shortstrfb = substr($feed_data->message, 0, 70) . '...';
if($feed_data->message != ''){
$f++;
}
$date1 = date("y-m-d");
$date2 = date("y-m-d",strtotime($feed_data->updated_time));
$datetime1 = date_create($date1);
$datetime2 = date_create($date2);
$interval = date_diff($datetime1, $datetime2);
$result = $interval->format('%R%a days');
// if($f > 5){
// break;
// }
if($feed_data->message != '' && $feed_data->from->name == 'FB page name'){
if($result > -30){
$dagen = 'more than 30';
}else{
$dagen = 'less than 30';
}
$facebookfeed .= '
<div class="col-md-4 col-sm-6 col-xs-12 item">
<div class="vk-project vk-project-grid-item">
<div class="vk-img-frame">
<span class="datecorner">'.date("d-m-Y",strtotime($feed_data->updated_time)).''.$dagen.'</span>
<a href="'.$feed_data->permalink_url.'" class="vk-img">
<img style="width:370px;height:270px;object-fit:cover;" src="'.$fbimage.'" alt="">
</a>
</div>
<div class="content-hidden">
<p class="inbeeldtext"><a href="'.$feed_data->permalink_url.'">'.$shortstrfb.'</a></p>
</div>
</div>
</div>';
}
}
echo $facebookfeed;
如何才能做到这一点?
您可以在循环外放置一个变量,并在达到时间限制后将其设置为true
。
通过检查此变量的状态,可以防止“存档”标题多次出现。
$reachedArchive = false;
foreach(...) {
$postUpdated = strtotime($feed_data->updated_time);
if (!$reachedArchive && $postUpdated <= strtotime('-30 days')) {
$reachedArchive = true;
echo '<h2>Archive</h2>';
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.