The Groundplan Education Add-on includes a Wait List functionality. You'll want use a few helper functions to support the Wait List functionality in your theme.
The xdgp_edu_get_class_wait_list_url() function returns a wait list value when a class is both Sold out AND a Wait List URL has been set. This allows education programs to prepare a wait list signup form and immediately activate it when a class is sold out.
Register Buttons with Wait List Support
Adapt this code when creating a "Register Button" to check for an active wait list and sold out class.
$post->ticket_url = xdgp_event_general_ticket_url($post); $post->status = xdgp_get_event_status($post); $buy_button_text = "Register" $post->wait_list_url = xdgp_edu_get_class_wait_list_url($post); if (!empty($post->wait_list_url)) { $post->ticket_url = $post->wait_list_url; $post->status = 'wait-list'; $buy_button_text = "Wait List"; } echo '<a href="'.$post->ticket_url' title="'.$buy_button_text.'">'.$buy_button_text.'</a>';
Wait List Buttons on Calendar
Adapt this code to display Wait List calls to action under the Sold Out Status on each calendar.
/** * Add Wait List button to Calendars * * * @return return HTML additional links */ function xdgp_waitlist_link($extralink, $current_perf, $event, $link, $calendar_args) { if (function_exists('xdgp_edu_get_class_wait_list_url')) { $waitlist_url = xdgp_edu_get_class_wait_list_url($event); if (!empty($waitlist_url)) { $extralink = '<a href="'.$waitlist_url.'" title="Wait List" class="btn btn-secondary">Wait List</a>'; } else if ($event->status == 'closed') { // no link } } return $extralink; } if (function_exists('xdgp_edu_get_class_wait_list_url')) { add_action('xdgp_calendar_additional_performance_link', 'xdgp_waitlist_link', 10, 5); }