I am using a repeater field to add various dates to one post.
In each repeater there are stored three variables:
si-date, si-time, si-special
Currently I am using the si-date
field like so:
<?php
$dateformatstring = "d.m. l,";
$unixtimestamp = strtotime(get_sub_field('si-date'));
echo date_i18n($dateformatstring, $unixtimestamp);
?>
I have got two questions I am not able to do on my own:
– How can I display only the repeater row containing the next upcoming date (or todays date)
– How can I display a custom message if all dates have passed by?
Hi @marianrick
I believe you can do it like this:
// check if the repeater field has rows of data
if( have_rows('repeater_field_name') ):
$have_date = false
$today = date('Ymd');
// loop through the rows of data
while ( have_rows('repeater_field_name') ) : the_row();
$thedate = get_sub_field('si-date', false);
if($thedate > $today){
$have_date = true;
$dateformatstring = "d.m. l,";
$unixtimestamp = strtotime($thedate);
echo date_i18n($dateformatstring, $unixtimestamp);
}
endwhile;
if(!$have_date){
echo "no dates";
}
else :
// no rows found
endif;
I hope this helps.