Tribe__Tickets__Tickets_Handler::get_total_event_capacity( $post = null )

Get the total event capacity.


Parameters

(int|object) (Required) (null) $post Post or Post ID tickets are attached to


Top ↑

Return

(int)


Top ↑

Source

File: src/Tribe/Tickets_Handler.php

	public function get_total_event_capacity( $post = null ) {
		$post_id            = Tribe__Main::post_id_helper( $post );
		$has_shared_tickets = 0 !== count( $this->get_event_shared_tickets( $post_id ) );
		$total              = 0;

		if ( $has_shared_tickets ) {
			$total = tribe_tickets_get_capacity( $post_id );
		}

		// short circuit unlimited stock
		if ( -1 === $total ) {
			return $total;
		}

		$tickets = Tribe__Tickets__Tickets::get_event_tickets( $post_id );

		// Bail when we don't have Tickets
		if ( empty( $tickets ) ) {
			return $total;
		}

		foreach ( $tickets as $ticket ) {
			// Skip shared cap Tickets as it's added when we fetch the total
			if (
				Tribe__Tickets__Global_Stock::CAPPED_STOCK_MODE === $ticket->global_stock_mode()
				|| Tribe__Tickets__Global_Stock::GLOBAL_STOCK_MODE === $ticket->global_stock_mode()
			) {
				continue;
			}

			$capacity = $ticket->capacity();

			if ( -1 === $capacity || '' === $capacity ) {
				$total = -1;
				break;
			}

			$capacity = is_numeric( $capacity ) ? (int) $capacity : 0;

			$total += $capacity;
		}

		return apply_filters( 'tribe_tickets_total_event_capacity', $total, $post_id );
	}

Top ↑

Changelog

Changelog
Version Description
4.6 Introduced.