Abstract_Event_Meta::get_post_meta( int|WP_Post $post )

Returns an event post meta related to API.


Parameters

$post

(int|WP_Post) (Required) The event post ID or object.


Top ↑

Return

(array) The API post meta or an empty array if not found or not an event.


Top ↑

Source

File: src/Tribe/Integrations/Abstract_Event_Meta.php

	public static function get_post_meta( $post ) {
		$event = tribe_get_event( $post );

		if ( ! $event instanceof WP_Post ) {
			return [];
		}

		$all_meta = get_post_meta( $event->ID );

		$prefix = Virtual_Event_Meta::$prefix . static::$key_source_id  . '_';

		$flattened_array = Arr::flatten(
			array_filter(
				$all_meta,
				static function ( $meta_key ) use ( $prefix ) {
					return 0 === strpos( $meta_key, $prefix );
				},
				ARRAY_FILTER_USE_KEY
			)
		);

		$encrypted_fields = static::$encrypted_fields;
		if ( empty( $encrypted_fields) ) {
			return $flattened_array;
		}

		// Decrypt the encrypted meta fields.
		$encryption       = tribe( Encryption::class );
		foreach ( $flattened_array as $meta_key => $meta_value ) {
			$encrypted_field_key = str_replace( $prefix, '', $meta_key );

			if ( ! array_key_exists( $encrypted_field_key, $encrypted_fields ) ) {
				continue;
			}

			$flattened_array[ $meta_key ] = $encryption->decrypt( $meta_value, $encrypted_fields[ $encrypted_field_key ] );
		}

		return $flattened_array;
	}

Top ↑

Changelog

Changelog
Version Description
1.11.0 Introduced.