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);
}