He creado un módulo personalizado de generador de castores (wordpress). Estoy obteniendo publicaciones a través de Ajax. Necesito consultar publicaciones basadas en una fecha de campo personalizado de ACF.
Estoy publicando la fecha en formato ISO8601 (por ejemplo, 2013-12-01T00: 00: 00-05: 00). Del lado del servidor, agarro el principio y el final. Los convierto al formato necesario para la consulta ACF https://www.advancedcustomfields.com/resources/date-picker/
$start_date = date('Ymd', strtotime($_POST['start']));
$end_date = date('Ymd', strtotime($_POST['end']));
Ejecuto la consulta y no obtengo nada. Hago eco de la cadena y se ven correctos.
Si configuro la fecha según el ejemplo en los documentos de ACF, funciona (código a continuación). Así que debo estar convirtiendo el ISOdate $_POST['start']
incorrectamente. ¿Cómo convierto el ISODATE para que sea algo que pueda usar en la consulta?
function get_ajax_event_calendar_posts() {
$today = date('Ymd'); // this works...
$args = array(
'post_type' => array('event'),
'meta_query' => array(
array(
'key' => 'start_date',
'compare' => '<=',
'value' => $today,
),
array(
'key' => 'end_date',
'compare' => '>=',
'value' => $today,
)
),
'post_status' => array('publish'),
'posts_per_page' => 100,
'nopaging' => true,
'order' => 'DESC',
'orderby' => 'date'
);
// The Query
$ajaxposts = get_posts( $args );
//... etc
}
** editar ** …. las cosas de la fecha no eran el problema. Yo era el problema… cambié mis comparaciones de la manera correcta y todo funciona…
.