Tribe__Events__Meta__Save::save_block_editor_metadata( int $event_id, array $data, WP_Post $event = null )

Used to save the event meta for events created in the block editor


Parameters

$event_id

(int) (Required) The event ID we are modifying meta for.

$data

(array) (Required) The post data

$event

(WP_Post) (Optional) The event post, itself.

Default value: null


Top ↑

Return

(bool)


Top ↑

Source

File: src/Tribe/Meta/Save.php

	public function save_block_editor_metadata( $event_id, $data, $event = null ) {

		if ( ! $this->context->current_user_can_edit_events() ) {
			return false;
		}

		if ( empty( $data['EventHideFromUpcoming'] ) ) {
			delete_metadata( 'post', $event_id, '_EventHideFromUpcoming' );
		} else {
			update_metadata( 'post', $event_id, '_EventHideFromUpcoming', $data['EventHideFromUpcoming'] );
		}

		// Set sticky state for calendar view.
		if ( $event instanceof WP_Post ) {
			$show_in_cal = Tribe__Utils__Array::get( $data, array( 'EventShowInCalendar' ), false );
			if (
				$show_in_cal
				&& tribe_is_truthy( $show_in_cal )
				&& $event->menu_order != '-1'
			) {
				$update_event = array(
					'ID'         => $event_id,
					'menu_order' => '-1',
				);
				wp_update_post( $update_event );
			} elseif (
				(
					! $show_in_cal
					|| ! tribe_is_truthy( $show_in_cal )
				)
				&& $event->menu_order == '-1'
			) {
				$update_event = array(
					'ID'         => $event_id,
					'menu_order' => '0',
				);
				wp_update_post( $update_event );
			}
		}

		// Set featured status
		empty( $data['feature_event'] )
			? tribe( 'tec.featured_events' )->unfeature( $event_id )
			: tribe( 'tec.featured_events' )->feature( $event_id );

		return true;
	}