Estoy tratando de crear un programa en vivo dentro de un sitio web, que debería mostrar el elemento activo/actual del programa. Mi configuración es la siguiente:
He creado un tipo de mensaje personalizado llamado: Events
. El tipo de publicación contiene un conjunto de campos de campos personalizados avanzados que contiene dos campos Selector de fecha y hora: start_event_date
y end_event_date
. El formato de ambos campos es d/m/Y H:i
.
Ahora quiero crear una consulta que recorra el tipo de publicación Eventos, enumerando todas las publicaciones donde $now
se encuentra dentro start_event_date
y end_event_date
(que solo será el elemento activo del programa). Mi zona horaria se define usando date_default_timezone_set("Europe/Amsterdam");
y tengo una variable para la hora actual $now
También en d/m/Y H:i
.
<?php
$args = array(
'post_type' => 'events',
'post_status' => 'publish',
'posts_per_page' => -1,
'order' => 'ASC',
);
$loop = new WP_Query( $args );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php
date_default_timezone_set("Europe/Amsterdam");
$time = date('d/m/Y H:i');
$start_date = get_field('event_start_date');
$end_date = get_field('event_end_date');
if ( $time >= $start_date && $time <= $end_date ) { ?>
<li><?php echo get_the_title(); ?></li>
<?php }
?>
<?php endwhile; ?>
Desafortunadamente, esto no funciona y en realidad no tengo idea de cómo implementar la condición para enumerar solo los elementos donde $now
está dentro $start_date
y $end_date
.
Cualquier idea sería apreciada. Gracias por adelantado.
.