Course Dates Shortcode
June 24, 2025

function course_dates_shortcode($atts) {
global $post;

if (!isset($post) || !is_object($post) || $post->post_type !== \’course\’) {
return \’\’;
}

$start_time = get_field(\’start_time\’, $post->ID);
$end_time = get_field(\’end_time\’, $post->ID);
if (!$start_time || !$end_time) return \’\’;

$format = \’l F j, Y\’;
$output = \”Dates:
\”;

// Loop through start_date and session_2 to session_16
for ($i = 1; $i <= 16; $i++) { $field_name = $i === 1 ? \'start_date\' : \"session_{$i}\"; $raw_date = get_field($field_name, $post->ID);

if ($raw_date) {
$dt = DateTime::createFromFormat($format, $raw_date);
if ($dt) {
$output .= $dt->format($format) . \” {$start_time} – {$end_time}
\”;
}
}
}

return $output;
}
add_shortcode(\’course_dates\’, \’course_dates_shortcode\’);