Tribe__Tickets__Tickets::exclude_past_tickets_from_cost_range( array $costs, int $post_id, string $meta, bool $single )
Filter past tickets from showing up in cost range.
Contents
Parameters
- $costs
-
(array) (Required) List of ticket costs.
- $post_id
-
(int) (Required) Target Event's ID.
- $meta
-
(string) (Required) Meta key name.
- $single
-
(bool) (Required) determines if the requested meta should be a single item or an array of items.
Return
(array) The list of ticket costs with past tickets excluded possibly.
Source
File: src/Tribe/Tickets.php
public function exclude_past_tickets_from_cost_range( $costs, $post_id, $meta, $single ) { if ( '_EventCost' != $meta || $single || empty( $costs ) ) { return $costs; } /** * Allow filtering of whether to exclude past tickets in the event cost range. * * @since 5.1.4 * * @param bool $exclude_past_tickets Whether to exclude past tickets in the event cost range. * @param array $costs Which costs are going to be displayed. * @param int $post_id Which Event/Post we are dealign with. */ $exclude_past_tickets = apply_filters( 'event_tickets_exclude_past_tickets_from_cost_range', false, $costs, $post_id ); if ( ! $exclude_past_tickets ) { return $costs; } $tickets = self::get_all_event_tickets( $post_id ); $wp_timezone = Tribe__Timezones::wp_timezone_string(); if ( Tribe__Timezones::is_utc_offset( $wp_timezone ) ) { $wp_timezone = Tribe__Timezones::generate_timezone_string_from_utc_offset( $wp_timezone ); } $timezone = new DateTimeZone( $wp_timezone ); foreach ( $tickets as $ticket ) { $now = Tribe__Date_Utils::build_date_object( 'now', $timezone ); $start_date = Tribe__Date_Utils::build_date_object( $ticket->start_date . ' ' . $ticket->start_time, $timezone ); $end_date = Tribe__Date_Utils::build_date_object( $ticket->end_date . ' ' . $ticket->end_time, $timezone ); // If the ticket has not yet become available for sale or has already ended. if ( $now < $start_date || $end_date < $now ) { // Try to find the ticket price in the list of costs. $key = array_search( $ticket->price, $costs ); // Remove the value from the list of costs if we found it. if ( false !== $key ) { unset( $costs[ $key ] ); } continue; } } return $costs; }
Changelog
Version | Description |
---|---|
5.1.5 | Introduced. |