Tribe__Events__Community__Main::required_field_groups_for_submission()

Required Community Event field groups.

Contents

Groups are related set of required fields, a group will be marked as "required" if even one of its fields is marked as required (logic OR). Groups are not used to validate the submission, like single fields are, but to mark a whole group as required in the display logic.


Return

(array) An array of groups required for the submission.


Top ↑

Source

File: src/Tribe/Main.php

		public function required_field_groups_for_submission() {
			$groups = array(
				'taxonomy'    => array(
					'tax_input',
				),
				'featured_image' => array(
					'event_image',
				),
				'date_time' => array(
					'EventStartDate',
					'EventStartTime',
					'EventEndDate',
					'EventEndTime',
				),
			);

			/**
			 * Filter the required groups.
			 *
			 * A group will be marked as "required" if at least one of its fields is required.
			 *
			 * @param array $groups   An associative array of field groups in the format:
			 *                        [ <group> => [ <field1>, <field2>, ... ]
			 */
			$groups = apply_filters( 'tribe_events_community_required_field_groups', $groups );

			$required_fields = $this->required_fields_for_submission();

			foreach ( $groups as $group => $group_required_fields ) {
				$check_required_fields = array_intersect( $group_required_fields, $required_fields );
				if ( empty( $check_required_fields ) ) {
					unset( $groups[ $group ] );
				}
			}

			return array_keys( $groups );
		}