Ik heb een aantal facebook posts op een pagina. Wanneer een post ouder is dan 80 dagen wil ik dat er een header (met de tekst archief) boven de 1e post die ouder is dan 80 dagen (dus niet boven elke post die dat is).
Even een simpel voorbeeld:
post
post
post
archief
post (ouder dan 80 dagen)
post (ouder dan 80 dagen)
post (ouder dan 80 dagen)
post (ouder dan 80 dagen)
Ik ben er bijna qua code maar krijg het archief nog niet op de juiste plek.
Wat ik nu heb:
<?PHP
$reachedArchive = false;
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');
// if($f > 5){
// break;
// }
if($feed_data->message != '' && $feed_data->from->name == 'Facebook pagina naam'){
if($result > -80 && $reachedArchive != true){
$reachedArchive = true;
$dagen = 'minder dan 80';
$facebookfeed .= '<h2>Archive</h2>';
}else{
$dagen = 'meer dan 80';
}
$facebookfeed .= '
'.$archive.'
<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;
?>
Ik bereken eerst het aantal dagen tussen de post en vandaag, als dat meer is dan 80 dan veranderd $reachedarchive van false in true (alleen als die niet true is).
Alleen hij stopt met het goed berekenen van de dagen wanneer ik '&& $reachedArchive != true' bij de if plaats. Wat doe ik fout?
Alleen de eerste post laat 'minder dan 80 dagen' zien terwijl de +- 5 opvolgende posts ook korter dan 80 dagen geleden zijn geplaatst. En de tekst 'archief' zet hij gelijk bij de eerste post.
1.191 views