Tribe__Tickets__Tickets::get_tickets_unavailable_message( array $tickets )
Returns a tickets unavailable message based on the availability slug of a collection of tickets
Contents
Parameters
- $tickets
-
(array) (Required) Collection of tickets
Return
(string)
Source
File: src/Tribe/Tickets.php
public function get_tickets_unavailable_message( $tickets ) {
$availability_slug = $this->get_availability_slug_by_collection( $tickets );
$message = null;
$post_type = get_post_type();
if ( 'tribe_events' == $post_type && function_exists( 'tribe_is_past_event' ) && tribe_is_past_event() ) {
$events_label_singular_lowercase = tribe_get_event_label_singular_lowercase();
$message = sprintf( esc_html__( 'Tickets are not available as this %s has passed.', 'event-tickets' ), $events_label_singular_lowercase );
} elseif ( 'availability-future' === $availability_slug ) {
/**
* Allows inclusion of ticket start sale date in unavailability message
*
* @since 4.7.6
*
* @param bool $display_date
*/
$display_date = apply_filters( 'tribe_tickets_unvailable_message_date', $display_date = true );
/**
* Allows inclusion of ticket start sale time in unavailability message
*
* @since 4.7.6
*
* @param bool $display_time
*/
$display_time = apply_filters( 'tribe_tickets_unvailable_message_time', $display_time = false );
// build message
if ( $display_date ) {
$start_sale_date = '';
$start_sale_time = '';
foreach ( $tickets as $ticket ) {
// get the earliest start sale date
if ( '' == $start_sale_date || $ticket->start_date < $start_sale_date ) {
$start_sale_date = $ticket->start_date;
$start_sale_time = $ticket->start_time;
}
}
$date_format = tribe_get_date_format( true );
$start_sale_date = Tribe__Date_Utils::reformat( $start_sale_date, $date_format );
$message = __( 'Tickets will be available on ', 'event-tickets' );
$message .= $start_sale_date;
if ( $display_time ) {
$time_format = tribe_get_time_format();
$start_sale_time = Tribe__Date_Utils::reformat( $start_sale_time, $time_format );
$message .= __( ' at ', 'event_tickets' ) . $start_sale_time;
}
} else {
$message = __( 'Tickets are not yet available', 'event-tickets' );
}
} elseif ( 'availability-past' === $availability_slug ) {
$message = __( 'Tickets are no longer available.', 'event-tickets' );
} elseif ( 'availability-mixed' === $availability_slug ) {
$message = __( 'There are no tickets available at this time.', 'event-tickets' );
}
/**
* Filters the unavailability message for a ticket collection
*
* @param string Unavailability message
* @param array Collection of tickets
*/
$message = apply_filters( 'event_tickets_unvailable_message', $message, $tickets );
return $message;
}
Changelog
| Version | Description |
|---|---|
| 4.2 | |
| 4.10.9 | Introduced. |