IAC::get_field_configurations( int $ticket_id )

Get the IAC form field configurations to use in meta forms.


Parameters

$ticket_id

(int) (Required) The ticket ID.


Top ↑

Return

(array) List of IAC form field configurations.


Top ↑

Source

File: src/Tribe/Attendee_Registration/IAC.php

	public function get_field_configurations( $ticket_id ) {
		$ticket_iac_setting = $this->get_iac_setting_for_ticket( $ticket_id );

		if ( self::NONE_KEY === $ticket_iac_setting ) {
			return [];
		}

		$is_iac_allowed  = self::ALLOWED_KEY === $ticket_iac_setting;
		$is_iac_required = self::REQUIRED_KEY === $ticket_iac_setting;

		$field_required = $is_iac_required ? 'on' : '';
		$placeholder    = $is_iac_allowed ? __( 'Optional', 'event-tickets-plus' ) : '';

		$name_field = [
			'id'          => 0,
			'type'        => 'text',
			'label'       => __( 'Name', 'event-tickets-plus' ),
			'placeholder' => $placeholder,
			'slug'        => $this->get_iac_ticket_field_slug_for_name(),
			'required'    => $field_required,
			'classes'     => [
				'tribe-tickets__iac-field',
				'tribe-tickets__iac-field--name',
				'tribe-tickets__form-field--unique' => $is_iac_required,
			],
		];

		$email_field = [
			'id'          => 0,
			'type'        => 'email',
			'label'       => __( 'Email', 'event-tickets-plus' ),
			'placeholder' => $placeholder,
			'slug'        => $this->get_iac_ticket_field_slug_for_email(),
			'required'    => $field_required,
			'classes'     => [
				'tribe-tickets__iac-field',
				'tribe-tickets__iac-field--email',
				'tribe-tickets__form-field--unique' => $is_iac_required,
			],
			'extra'       => [
				'attributes' => [
					'data-resend-limit-reached' => '0',
				],
			],
		];

		$fields = [
			'name'  => $name_field,
			'email' => $email_field,
		];

		/**
		 * Allow filtering the list of IAC form field configurations.
		 *
		 * @since 5.1.0
		 *
		 * @param array  $fields             List of IAC form field configurations.
		 * @param string $ticket_iac_setting The IAC setting for the ticket (none, allowed, required).
		 * @param int    $ticket_id          The ticket ID.
		 */
		$fields = apply_filters( 'tribe_tickets_plus_attendee_registration_iac_fields', $fields, $ticket_iac_setting, $ticket_id );

		// Remove keys from the array.
		$fields = array_values( $fields );

		/** @var \Tribe__Tickets_Plus__Meta $meta */
		$meta = tribe( 'tickets-plus.meta' );

		// Build the field configurations.
		$fields = $meta->generate_fields( $ticket_id, $fields );

		// Remove invalid fields.
		$fields = array_filter( $fields );

		return $fields;
	}

Top ↑

Changelog

Changelog
Version Description
5.1.0 Introduced.