Er worden events opgehaald die deze maand plaats vinden. Echter worden er geen evenementen in het verleden getoond, alleen in de toekomst. Wanneer er geen parameters worden meegegeven wordt de huidige maand en het huidige jaar als uitgangspunt gebruikt. Wanneer het de huidige maand is zal er geen vorige knop worden getoond. Indien het de laatste maand van het jaar is zal het jaartal met +1 opschuiven en de maand van 12 naar 1 gaan. Indien dit de eerste maand is van het jaar zal het jaartal met -1 opschuiven en de maand van 1 naar 12 gaan.
Het datum veld is een date/time picker veld van ACF.
<div class="agndahldr">
<?php
$huidigemaand = date('m');
$huidigjaar = date('Y');
if($_GET["maand"]):
$maandparam = $_GET["maand"];
else:
$maandparam = $huidigemaand;
endif;
if($_GET["jaar"]):
$jaarparam = $_GET["jaar"];
else:
$jaarparam = $huidigjaar;
endif;
$beginmaand = date(''.$jaarparam.'-'.$maandparam.'-01');
$toekomst = strtotime ( 'last day of this month' , strtotime ( $beginmaand ) ) ;
$toekomst = date ( 'Y-m-d' , $toekomst );
$toekomstigemaand = strtotime ( 'first day of +1 month' , strtotime ( $toekomst ) ) ;
$meta_query = array(
array(
'key' => 'start',
'value' => date('Y-m-d H:i:s'),
'type' => 'DATE',
'compare' => '>='
),
array(
'key' => 'start',
'value' => array($beginmaand,$toekomst),
'compare' => 'BETWEEN',
'type' => 'DATE'
)
);
$args = array(
'post_type' => 'agenda',
'meta_key' => 'start',
'posts_per_page' => -1,
'orderby' => 'meta_value',
'order' => 'ASC',
'paged' => $paged1,
'tax_query' => array(
array(
'taxonomy' => 'gekoppelde_locaties',
'field' => 'slug',
'terms' => $parent_post_slug,
),
),
'meta_query' => $meta_query
);
$my_query = new WP_Query($args);
$count = 0;
while($my_query->have_posts()):
$count++;
$my_query->the_post();
?>
<div class="col-xs-12 col-sm-12 sol-md-12 agndacntnt">
<?php $start = get_field("start");
$eind = get_field("eind");
setlocale(LC_TIME, 'nl_NL');
$startTime = DateTime::createFromFormat("Y-m-d H:i:s", $start);
$eindTime = DateTime::createFromFormat("Y-m-d H:i:s", $eind);
if ( is_object($startTime) ) {
$maand = $startTime->format('M');
$dag = $startTime->format('d');
$startuur = $startTime->format('H');
$startminuut = $startTime->format('i');
};
if ( is_object($eindTime) ) {
$einduur = $eindTime->format('H');
$eindminuut = $eindTime->format('i');
};?>
<?php if(!isset($currentMonth) || $currentMonth != date("m", strtotime($start))){
$currentMonth = date("m", strtotime($start));
?>
<div class="" id="maand<?php echo date("m", strtotime($start)); ?>">
<h3><?php echo date("M", strtotime($start)); ?></h3>
</div>
<?php
}
?>
<div class="grn inlblck eqhgt"><span class="bg"><?php echo $dag; ?></span>
<span class="sml"><?php echo $maand; ?></span>
</div>
<div class="inlblck agndainf eqhgt">
<h3><?php echo wp_trim_words( get_the_title(), 100, '...' ); ?></h3>
<?php $locs = get_the_terms( get_the_ID(), 'ruimte' );
if ( $locs && ! is_wp_error( $locs ) ) : ?>
<span>Tijd: <?php echo $startuur; ?>:<?php echo $startminuut; ?> - <?php echo $einduur; ?>:<?php echo $eindminuut; ?> | Ruimte:
<?php
$gekoppelde_locaties = array();
foreach ( $locs as $loc ) {
$gekoppelde_locaties[] = $loc->name;
}
$spangekoppelde_locaties = join( ", ", $gekoppelde_locaties );
echo $spangekoppelde_locaties; ?>
</span>
<?php endif; ?>
</div>
</div>
<?php
endwhile;
?>
<?php
wp_reset_query();
$vorigemaand = $maandparam - 1;
$volgendemaand = $maandparam + 1;
$jaarparamvorig = $jaarparam;
if($huidigemaand == $maandparam && $huidigjaar == $jaarparam):
else:
?>
<?php if($maandparam == 12):
$jaarparam = $jaarparam + 1;
$volgendemaand = 1;
$jaarparamvorig = $jaarparam - 1;
elseif($maandparam == 1):
$jaarparam = $jaarparam - 1;
$jaarparamvorig = $jaarparam;
$vorigemaand = 12;
endif;
?>
<a href="<?php the_permalink();?>?jaar=<?php echo $jaarparam; ?>&maand=<?php echo $vorigemaand; ?>" class="btn">Vorige maand</a><br/>
<?php endif; ?>
<a href="<?php the_permalink();?>?jaar=<?php echo $jaarparam;?>&maand=<?php echo $volgendemaand; ?>" class="btn">Volgende maand</a>
</div>
#acf #date #query