IAC::get_field_configurations( int $ticket_id )
Get the IAC form field configurations to use in meta forms.
Contents
Parameters
- $ticket_id
-
(int) (Required) The ticket ID.
Return
(array) List of IAC form field configurations.
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;
}
Changelog
| Version | Description |
|---|---|
| 5.1.0 | Introduced. |