$status = $manual_status; $date = get_field('session_date', $session->ID); $start = get_field('start_time', $session->ID); $end = get_field('end_time', $session->ID); if ($date && $start && $end) { $start_timestamp = strtotime( substr($date,0,4) . '-' . substr($date,4,2) . '-' . substr($date,6,2) . ' ' . $start ); $end_timestamp = strtotime( substr($date,0,4) . '-' . substr($date,4,2) . '-' . substr($date,6,2) . ' ' . $end ); $now = current_time('timestamp'); $progress = 0; if (!empty($start_timestamp) && !empty($end_timestamp)) { if ($now <= $start_timestamp) { $progress = 0; } elseif ($now >= $end_timestamp) { $progress = 100; } else { $progress = (($now - $start_timestamp) / ($end_timestamp - $start_timestamp)) * 100; $progress = round($progress); } } if ($now < $start_timestamp) { $status = 'scheduled'; } elseif ($now >= $start_timestamp && $now <= $end_timestamp) { $status = 'live'; } elseif ($now > $end_timestamp) { $status = 'ended'; }