$show_date = get_field('show_date'); $show_venue = get_field('show_venue'); // print '<pre>'; // print_r($show_date); // print '</pre>'; $query->the_post();
You are setting the active post AFTER getting the values.
Put $query->the_post()
always at the top of that while loop, so that the other functions can rely on the global $post variable being set correctly.